VelNet-Unity/Documentation/docs/server/self-host.md

1.7 KiB

Self-hosting the Server

VelNet's server can be self-hosted with modest resources. The limiting factor will almost always be network bandwidth.

=== "Option 1: Pull from Docker Hub"

Make sure you have [Docker](https://www.docker.com/) installed, then pull the Docker image using:

```sh
docker run -p 5000:5000 -p 5000:5000/udp velaboratory/velnet
```

or

```sh
docker run -p 5050:5000 -p 5050:5000/udp --name velnet velaboratory/velnet
```

to run on a different port and change the name of the container.

=== "Option 2: Use docker-compose"

1. Clone the repo
    - `git clone https://github.com/velaboratory/VelNetServerRust.git`

- Make sure you have [Docker](https://www.docker.com/) and [docker-compose](https://docs.docker.com/compose/) installed.

- The docker compose file runs both the control panel and the server.
    - To start:
        ```sh
        docker compose up -d
        ```
    - To stop:

        ```sh
        docker compose stop
        ```


This builds the images from the local data in the folder, and doesn't pull anything from Docker Hub.

=== "Option 3: Run Rust natively"

1. Clone the repo
    - `git clone https://github.com/velaboratory/VelNetServerRust.git`
- Edit `config.json` to an open port on your firewall
- Modify the `user` field in `control-panel/config.json` to be your username.
- Install rust through using [rustup](https://rustup.rs/)
- Install: `sudo ./install.sh`
- Run server: `sudo systemctl start velnet`
- Run control panel: `sudo systemctl start velnet-control-panel`
- Install tuptime: `cargo install tuptime`
- Install onefetch: `cargo install onefetch`