Step 2 - Docker Compose
Deploying via Docker Compose is the standard and most flexible way to host Spokes on any Linux machine.
Prerequisites
Section titled “Prerequisites”- A Linux host with Docker and Docker Compose installed.
- A static IP assigned to your host machine on your local network (LAN).
- You have completed Step 1: Planning Your Deployment and have decided on your ports.
docker-compose.yml
Section titled “docker-compose.yml”Create a docker-compose.yml file in an empty directory on your server and paste the following configuration. Replace the mapped ports with the ones you decided on in Step 1 if they differ from the defaults:
version: '3.8'
services: spokes: image: ghcr.io/pcbeeqc/spokes:latest container_name: spokes_server restart: unless-stopped ports: # Web UI and API (Can be mapped to any host port, e.g., "80:8080") - "8080:8080"
# LiveKit TCP Fallback (Must be mapped 1-to-1) - "7881:7881"
# LiveKit UDP Range (Must be mapped 1-to-1) - "50000-50499:50000-50499/udp" volumes: # Persistent data storage (databases, configuration, uploads) - ./spokes-data:/data environment: # Required: The master password used to encrypt secure channels escrow - SPOKES_MASTER_PASSWORD=YourSecureMasterPasswordHereStart the Server
Section titled “Start the Server”Run the following command to pull the latest image and start the container in the background:
docker compose up -dOnce the container is running, navigate to the web interface (e.g., http://your-server-ip:8080) to complete Step 3: The Setup Wizard!