Docker ARM Synology
From Servarr
- Log in as `root` to your synology.
- Download and extract the docker binaries by running:
curl https://download.docker.com/linux/static/stable/aarch64/docker-20.10.0.tgz | tar -xz -C /usr/local/bin --strip-components=1
- Create somewhere for the docker files to live:
- mkdir -p /volume1/@Docker/lib mkdir /docker mount -o bind "/volume1/@Docker/lib" /docker
- Configure docker:
mkdir -p /usr/local/etc/docker cat <<EOT > /usr/local/etc/docker/docker.json { "storage-driver": "vfs", "iptables": false, "bridge": "none", "data-root": "/docker" } EOT
- Enable docker to start on boot:
cat <<'EOT' > /usr/local/etc/rc.d/docker.sh #!/bin/sh # Start docker daemon NAME=dockerd PIDFILE=/var/run/$NAME.pid DAEMON_ARGS="--config-file=/usr/local/etc/docker/docker.json --pidfile=$PIDFILE" case "$1" in start) echo "Starting docker daemon" mount -o bind "/volume1/@Docker/lib" /docker /usr/local/bin/dockerd $DAEMON_ARGS & ;; stop) echo "Stopping docker daemon" kill $(cat $PIDFILE) ;; *) echo "Usage: "$1" {start|stop}" exit 1 esac exit 0 EOT chmod 755 /usr/local/etc/rc.d/docker.sh
- Create the docker group, replacing `MYUSERNAME` with the username you use to log in with SSH
synogroup --add docker root MYUSERNAME
- Start it!
/usr/local/etc/rc.d/docker.sh start
- Install docker compose:
curl -L --fail https://gist.githubusercontent.com/ta264/af20c367aafa63795c3104d4b0c8b148/raw/4f6d257c026596cfce1c9052d9ac426a50e9f205/run.sh -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
- Reboot.
- Hopefully you have a functioning `docker` and `docker-compose`
- You can start portainer with:
- docker run --network=host -v "/var/run/docker.sock:/var/run/docker.sock" portainer/portainer-ce:linux-arm64
- Which will start portainer on port 9000 on the host.