This repository provides a small Docker image wrapper around Mutagen.
It is intended to package the Mutagen daemon in a reusable container image, without adding application-specific sync logic.
For Mutagen usage, commands, and concepts, refer to the official documentation:
- https://mutagen.io/documentation/introduction/getting-started
- https://mutagen.io/documentation/introduction/daemon
- https://mutagen.io/documentation/synchronization/
The image:
- installs
mutagen - includes
mutagen-agents.tar.gz - starts with
mutagen daemon run - supports runtime
PUID/PGIDremapping - keeps data under
/home/mutagen - generates an SSH key under
/home/mutagen/.sshif missing - prints the SSH public key on startup
- includes a healthcheck using
mutagen sync list
At container startup, the entrypoint:
- applies
PUID/PGIDto themutagenuser - fixes ownership of
/home/mutagen,.ssh, and.mutagen - generates an SSH key if needed
- prints the public key
- executes the requested command
services:
mutagen:
image: ghcr.io/vex9z7/mutagen
container_name: mutagen
restart: unless-stopped
environment:
PUID: <host-uid>
PGID: <host-gid>
volumes:
- mutagen-ssh:/home/mutagen/.ssh
- mutagen-data:/home/mutagen/.mutagen
- <local-workspace-path>:/workspace
volumes:
mutagen-ssh:
mutagen-data:Notes:
mutagen-sshstores the generated SSH keypairmutagen-datastores Mutagen daemon state/workspaceis a bind mount placeholder for any local path you want to use in sync commands