github telnetdoogie-labs/synology-docker 3.0

2 hours ago

Highlights

Restore works when Docker is down. restore no longer needs Container Manager running, and the script never replaces binaries while Docker is still shutting down. Stop timeouts and start failures now report what's happening instead of a generic error.

iptables modules survive Container Manager updates. On DSM 7, the iptable_raw / ip6table_raw modules now load from a systemd drop-in instead of lines inserted into Synology's start-stop-status, which package updates overwrite. Existing setups are migrated automatically.

fuse-overlayfs for aufs setups (opt-in). For volumes on aufs with no kernel overlay support, which have no usable storage driver on Docker 24+, --fuse-overlayfs sets up fuse-overlayfs storage. Based on @doctorpangloss's work in AppMana's fork.

What's Changed

Container Manager handling (#88) - #110

  • restore works with Container Manager stopped or broken; update and the other commands say how to start it instead of suggesting --force
  • The stop step waits out a stopping state and never continues while dockerd is running, fixing a case where binaries could be replaced under a running daemon
  • Separate messages for stop timeouts and start failures, with the package status, whether dockerd is running, and the daemon log path
  • New start and stop commands
  • README: tips for hosts with many containers, and rolling back when Docker won't start

fuse-overlayfs and systemd-loaded modules (#89) - #113

  • fuse-overlayfs (opt-in):
    • New --fuse-overlayfs option and install_fuse_overlayfs.sh (with --uninstall)
    • Refuses to run on anything but aufs, so btrfs setups are never switched
    • Verifies every download against a pinned checksum
    • Keeps the data path of installs made with AppMana's fork
  • Storage check: update / install stop with clear advice when dockerd.json still uses aufs and the target is Docker 24+, instead of leaving Docker unable to start
  • Module loading: on DSM 7, iptables raw modules load via a systemd drop-in; the old insmod lines are removed from start-stop-status, and only_script migrates hosts already on the latest Docker

Fixes - #112

  • --force and install now run the iptables-module and AppArmor steps for Docker 28+/29+; previously --force skipped both, and install never installed the AppArmor profile
  • "Step X of Y" progress is now accurate, including with --target, Compose-only updates, and the local log driver

Upgrading

git pull, then update as usual. On DSM 7, the next update (or sudo ./syno_docker_update.sh only_script) moves module loading to the systemd drop-in and cleans up the old lines. Nothing changes for btrfs setups unless you pass --fuse-overlayfs.

Thanks

Thanks to @doctorpangloss for the fuse-overlayfs work from the AppMana fork, @telnetdoogie for review and on-device testing, and @liquidguru for the detailed stop/start reports in #88.

New Contributors

Full Changelog: 2.9...3.0

Don't miss a new synology-docker release

NewReleases is sending notifications on new releases.