# Example compose for docker-fclones-scheduler. See docs/configuration.md and docs/hardening.md for all configuration options and hardening. services: fclones: image: ghcr.io/cplieger/docker-fclones-scheduler:latest container_name: fclones restart: unless-stopped # Run "sudo mkdir -p /opt/appdata/fclones && sudo chown 1000:1000 /opt/appdata/fclones" # before the first start, or the container exits. If .env sets PUID and PGID, use those numbers. user: "${PUID:-1000}:${PGID:-1000}" environment: SCAN_INTERVAL: "1h" # or 30m, 12h. "off" waits for an outside trigger and "0" scans once FCLONES_SCAN_PATHS: "/scandir" # must match a volume target below FCLONES_ARGS: "--rf-over 1" # report files that have more than one copy FCLONES_ACTION: "link" # group only reports, link replaces copies with hardlinks, remove deletes them, dedupe uses reflinks FCLONES_ACTION_ARGS: "--priority bottom" # keep the first copy fclones lists, replace the others volumes: - "/path/to/media:/scandir" # link, remove and dedupe change files here, so this user must be able to write to it - "/opt/appdata/fclones:/cache" # the container exits at start if this user cannot write here