oxen-server
instance on your own infrastructure, or use the hosted version on OxenHub. If you want to kick the tires of Oxen in the privacy of your own infrastructure, we recommend you setup a local server.

⚙️ Install
To setup a local Oxen Server instance, first install theoxen-server
binary.
Mac OS
On Mac-OS you can use Homebrew to install the binary.Ubuntu
On Ubuntu you can download the latest .deb file from our GitHub Releases and install it.Docker
To run the server in a docker container, download the latest .tar file from our GitHub Releases and run the following commands.🏎️ Start Server
The server can be run with access token authentication turned on or off. The server runs with no authentication by default.config
command. If you ever need to debug or edit the tokens manually, they are stored in the ~/.config/oxen/auth_config.toml
file.
-a
flag
🗂️ Sync Directory
The default directory that Oxen stores data is/tmp/oxen_sync
, which is not a good idea for production. To change it set the SYNC_DIR
environment variable to a path.
IP ADDRESS
and PORT
you can do so by passing them in with the -i
and -p
parameters.
📁 Create a Repository
Assuming you have already installed theoxen
CLI, you can create a remote repository on the server.
hub.oxen.ai
and https
respectively. If you are running a local server, you can set the host to localhost:3000
and the scheme to http
.
You can either clone data from this remote repository, or push data to it.
🗄️ File Storage
When you create a remote repository, Oxen will create a directory for it on the server. The directory structure is$SYNC_DIR/<namespace>/<repo_name>/.oxen
.
.oxen
directory. This directory mirrors the .oxen
directory in your local repository, so that logic can be reused between the client and server.
TODO: We are working on adding support for other storage backends, like S3 and MinIO. If you would like to contribute, please see the Oxen-AI/Oxen repo on GitHub.
⬆️ Upload Data
To upload data to the server, you can use theoxen
CLI to initialize a local repository, add data to it, and push it to the server.
.oxen
directory.
config.toml
file in your local repository.
config.toml
file, you will see the remote set.