syncthing
Continuous file synchronization via Syncthing.
The service runs in a NixOS container with three ports: the web GUI (8384), the sync protocol
(22000, TCP and UDP), and the local discovery protocol (21027, UDP). idleTimeout is null
because stopping a Syncthing instance breaks the P2P sync mesh — peers cannot push changes to
an offline node. The service is always-on.
The blueprint sets dataDir to /var/lib/syncthing inside the container. Without a volume
mount to a persistent host path, Syncthing’s configuration database and index are lost on
container restart.
| Attribute | Value |
|---|---|
| Runtime | Native (NixOS container) |
| Ports | 8384 (Web GUI), 22000 (Sync protocol), 21027 (Discovery) |
| Idle timeout | None (always-on) |
| OCI image | — |
Consumer must provide: A volume mount for /var/lib/syncthing mapped to a persistent host
directory.
nixda.zones.private.services.syncthing = lib.recursiveUpdate
config.nixda.catalog.syncthing
{
id = 25;
runtime.native.volumes = [
"/data/syncthing:/var/lib/syncthing"
];
};