Docker CPU
Docker Compose installation without GPU acceleration.
Who this is for
Use this path when you want to run Toposync isolated in a container.
This guide builds from a local repository checkout. It does not assume a public container image yet.
For architecture support, see Compatibility.
Prerequisites
- Docker.
- Docker Compose.
- A Toposync repository checkout.
Installation
From the repository root:
docker compose up -d --build
This builds the local toposync:local image and starts the toposync service.
By default:
- public port:
8000; - data directory on the host:
./toposync-data; - data directory in the container:
/data.
How to run
Start:
docker compose up -d
Stop:
docker compose stop
View logs:
docker compose logs -f toposync
Change the public port:
TOPOSYNC_PORT=8080 docker compose up -d --build
Change the data directory:
TOPOSYNC_DATA_VOLUME=/path/to/toposync-data docker compose up -d --build
How to access
On the host:
http://127.0.0.1:8000/
On the local network:
http://<server-ip>:8000/
How to verify
curl -I http://127.0.0.1:8000/
curl http://127.0.0.1:8000/api/health
curl http://127.0.0.1:8000/api/auth/status
Expected result:
/returns200;/api/healthreturns200;/api/auth/statusreturns JSON and may reportrequires_setup: trueon first access.
After you complete setup or login in the UI, authenticated API routes such as /api/extensions become available.
Optional streaming
To include the streaming extension in the CPU image:
TOPOSYNC_APT_PACKAGES=ffmpeg \
TOPOSYNC_EXTRA_WHEELS="/wheelhouse/toposync_ext_streaming-*.whl" \
docker compose up -d --build
In this mode:
- FFmpeg is installed as a system package;
toposync-ext-streamingis installed as an extra wheel;- data and runtime still use
/data.
How to update
Update the repository checkout and rebuild the image:
git pull
docker compose up -d --build
How to uninstall
Stop and remove the container:
docker compose down
Also remove the local data:
rm -rf ./toposync-data
Troubleshooting
Port 8000 is already in use
Use another host port:
TOPOSYNC_PORT=8080 docker compose up -d
The container does not become healthy
Check the logs:
docker compose logs -f toposync
Test the health endpoints:
curl http://127.0.0.1:8000/api/health
curl http://127.0.0.1:8000/api/auth/status
I need GPU acceleration
This guide is CPU-only. For NVIDIA in Docker, use the Docker CUDA guide.