|
|
| (19 intermediate revisions by 2 users not shown) |
| Line 1: |
Line 1: |
| − | Log in as root to your synology. Download and extract the docker binaries by running:
| + | [https://wiki.servarr.com/en/docker-arm-synology Moved to the new wiki] |
| − | | |
| − | <pre>
| |
| − | curl https://download.docker.com/linux/static/stable/aarch64/docker-20.10.0.tgz | tar -xz -C /usr/local/bin --strip-components=1
| |
| − | </pre>
| |
| − | | |
| − | Create somewhere for the docker files to live:
| |
| − | | |
| − | mkdir -p /volume1/@Docker/lib
| |
| − | mkdir /docker
| |
| − | mount -o bind "/volume1/@Docker/lib" /docker
| |
| − | | |
| − | Configure docker:
| |
| − | <pre>
| |
| − | 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
| |
| − | </pre>
| |
| − | | |
| − | Enable docker to start on boot:
| |
| − | | |
| − | <pre>
| |
| − | 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
| |
| − | </pre>
| |
| − | | |
| − | 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
| |
| − | | |
| − | Reboot.
| |
| − | | |
| − | You can try to install docker compose:
| |
| − | | |
| − | <pre>
| |
| − | sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose
| |
| − | sudo chmod +x /usr/local/bin/docker-compose
| |
| − | </pre>
| |
| − | | |
| − | But in our test this failed with
| |
| − | <pre>
| |
| − | Status: Downloaded newer image for ghcr.io/linuxserver/docker-compose:latest
| |
| − | docker: Error response from daemon: OCI runtime create failed: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: open /dev/ptmx: no such file or directory: unknown.
| |
| − | </pre>
| |
| − | | |
| − | 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.
| |