54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
# 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`
|