Syncplify Server! Is Coming to Docker
A slightly less informal announcement...
We have been listening. For a while now, customers and prospects have been asking whether Syncplify Server! can run inside a container. The answer will soon be “yes”. And we think (or at least hope) you will appreciate how we did it.
Containerizing a product like Syncplify Server! is not trivial. The server runs three cooperating processes: the SyngoDB database engine, the REST API and control plane, and one worker process per virtual site. These processes communicate over loopback addresses, which do not cross container network boundaries. Rather than rewiring the IPC layer entirely, we chose a monolith container model: all three processes share a single network namespace inside one container. Every loopback address works identically to bare metal, and IPC code didn’t need to be altered.
The bigger challenge was the worker lifecycle. On Linux, virtual site workers have always been managed by systemd. Inside a container there is no systemd. We built a small in-process supervisor that replaces systemd in container mode: it forks, monitors, and terminates worker processes directly, with graceful SIGTERM handling and a even a kill-timeout that mimics bare metal and VM operation. The switch is activated by a single environment variable.
The container image is built for both linux/amd64 and linux/arm64 and published as a multi-arch manifest on Docker Hub. Deployment is a single docker compose up -d. The data directory, log directory, and user “homes” are mounted from the host, so the license, configuration, and all virtual site data persist across container restarts and image updates.
It even support hybrid clustering, with some nodes running in bare-metal/VMs, and some other nodes running in/as containers!
We are in the final testing phase. The Docker image and a full deployment guide will ship soon with one of the upcoming release. Stay tuned.


