All checks were successful
Build and push rsyncd image / build-and-push-image (push) Successful in 3m47s
1.7 KiB
1.7 KiB
rsyncd
Simple rsync server running in a Docker container.
Image: harbor.lan/tools/rsyncd:latest
Usage modes
1. Custom config (mount rsyncd.conf)
If /etc/rsyncd.conf is mounted, the container uses it as-is — no env vars needed.
services:
rsyncd:
image: harbor.lan/tools/rsyncd:latest
ports:
- "873:873"
volumes:
- ./rsyncd.conf:/etc/rsyncd.conf:ro
- /srv/backup:/data
2. Multiple modules via env vars
Modules are defined via MODULE_1_*, MODULE_2_*, MODULE_3_* etc. — add as many as needed, as long as the numbering is consecutive.
services:
rsyncd:
image: harbor.lan/tools/rsyncd:latest
ports:
- "873:873"
environment:
- ALLOW=10.0.0.0/8
- MODULE_1_NAME=backup
- MODULE_1_PATH=/data/backup
- MODULE_2_NAME=media
- MODULE_2_PATH=/data/media
- MODULE_2_ALLOW=192.168.1.0/24
volumes:
- /srv/backup:/data/backup
- /srv/media:/data/media
3. Single module (simple)
services:
rsyncd:
image: harbor.lan/tools/rsyncd:latest
ports:
- "873:873"
environment:
- VOLUME=backup
- ALLOW=10.0.0.0/8
- OWNER=1000
- GROUP=1000
volumes:
- /srv/backup:/volume
Environment variables
| Variable | Default | Description |
|---|---|---|
VOLUME |
volume |
Module name (single-module mode) |
ALLOW |
192.168.0.0/16 172.16.0.0/12 |
Allowed IP ranges (global default) |
OWNER |
nobody |
UID for created files |
GROUP |
nogroup |
GID for created files |
MODULE_x_NAME |
— | Module name (multi-module mode) |
MODULE_x_PATH |
/volume_x |
Path for module x |
MODULE_x_ALLOW |
$ALLOW |
Allowed IPs for module x |