Skip to content

Docker Compose (All-in-One)

The All-in-One method is the easiest and most robust way to host Spokes on a generic Linux machine. By using this configuration, you get:

  1. Automated SSL Certificates via a bundled Caddy reverse proxy.
  2. Automated Server Updates via a bundled Watchtower container that triggers when you click “Update Now” in the UI.
  • A Linux host with Docker and Docker Compose installed.
  • A static IP assigned to your host machine on your local network (LAN).
  • Port 80, 443, 7881, and 30000-30499 must be available and forwarded on your host.
  • A domain name (e.g., spokes.yourdomain.com) pointing to your server’s public IP address.

We provide an automated installation script that will configure your Docker daemon, apply networking optimizations for real-time voice and video, generate secure passwords, and create the necessary docker-compose.yml and Caddyfile for you.

Run the following command on your Linux server:

Terminal window
curl -fsSL https://spokes.sh/install.sh | sudo bash

The script will place all of your configuration files in /opt/spokes.

Once the installation script completes, navigate to your new directory and start the containers:

Terminal window
cd /opt/spokes
docker compose up -d

Note: It may take 1-2 minutes for the Spokes server to initialize its databases and respond to the first request.


Now that your Spokes container is running with its embedded Caddy proxy, it’s time to configure the server:

  • The Setup Wizard: Complete the initial configuration and set up your identity provider.