container-images/rsyncd
dresi 357ace62e1
All checks were successful
Build and push rsyncd image / build-and-push-image (push) Successful in 3m47s
feat: add multi-module support and custom config mount to rsyncd
2026-06-11 14:37:06 +02:00
..
Dockerfile feat: initial structure with rsyncd and telegraf-snmp images 2026-06-10 10:29:16 +02:00
README.md feat: add multi-module support and custom config mount to rsyncd 2026-06-11 14:37:06 +02:00
run.sh feat: add multi-module support and custom config mount to rsyncd 2026-06-11 14:37:06 +02:00

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