Skip to content

Step 2 - Docker Compose

Deploying via Docker Compose is the standard and most flexible way to host Spokes on any Linux machine.

  • 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.

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=YourSecureMasterPasswordHere

Run the following command to pull the latest image and start the container in the background:

Terminal window
docker compose up -d

Once the container is running, navigate to the web interface (e.g., http://your-server-ip:8080) to complete Step 3: The Setup Wizard!