This commit is contained in:
nap.liu 2022-12-12 16:05:11 +08:00
commit e174c6610c
4 changed files with 153 additions and 0 deletions

10
.gitignore vendored Normal file
View File

@ -0,0 +1,10 @@
# Default ignored files
/shelf/
/.idea/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
.idea

75
install-docker-compose.sh Normal file
View File

@ -0,0 +1,75 @@
#!/bin/sh
#
# Forked from https://github.com/linuxserver/docker-docker-compose/blob/master/run.sh
#
# Run docker-compose in a container
#
# This script will attempt to mirror the host paths by using volumes for the
# following paths:
# * $(pwd)
# * $(dirname $COMPOSE_FILE) if it's set
# * $HOME if it's set
#
# You can add additional volumes (or any docker run options) using
# the $COMPOSE_OPTIONS environment variable.
#
# You can set a specific image tag from Docker Hub, such as "1.26.2-ls9", or "alpine"
# using the $DOCKER_COMPOSE_IMAGE_TAG environment variable (defaults to "latest")
#
set -e
# set image tag to latest if not globally set
DOCKER_COMPOSE_IMAGE_TAG="${DOCKER_COMPOSE_IMAGE_TAG:-latest}"
IMAGE="ghcr.io/linuxserver/docker-compose:$DOCKER_COMPOSE_IMAGE_TAG"
# Setup options for connecting to docker host
if [ -z "$DOCKER_HOST" ]; then
DOCKER_HOST='unix:///var/run/docker.sock'
fi
if [ -S "${DOCKER_HOST#unix://}" ]; then
DOCKER_ADDR="-v ${DOCKER_HOST#unix://}:${DOCKER_HOST#unix://} -e DOCKER_HOST"
else
DOCKER_ADDR="-e DOCKER_HOST -e DOCKER_TLS_VERIFY -e DOCKER_CERT_PATH"
fi
# Setup volume mounts for compose config and context
if [ "$(pwd)" != '/' ]; then
VOLUMES="-v $(pwd):$(pwd)"
fi
if [ -n "$COMPOSE_FILE" ]; then
COMPOSE_OPTIONS="$COMPOSE_OPTIONS -e COMPOSE_FILE=$COMPOSE_FILE"
compose_dir="$(dirname "$COMPOSE_FILE")"
# canonicalize dir, do not use realpath or readlink -f
# since they are not available in some systems (e.g. macOS).
compose_dir="$(cd "$compose_dir" && pwd)"
fi
if [ -n "$COMPOSE_PROJECT_NAME" ]; then
COMPOSE_OPTIONS="-e COMPOSE_PROJECT_NAME $COMPOSE_OPTIONS"
fi
# TODO: also check --file argument
if [ -n "$compose_dir" ]; then
VOLUMES="$VOLUMES -v $compose_dir:$compose_dir"
fi
if [ -n "$HOME" ]; then
VOLUMES="$VOLUMES -v $HOME:$HOME -e HOME" # Pass in HOME to share docker.config and allow ~/-relative paths to work.
fi
# Always set -i to support piped and terminal input in run/exec
DOCKER_RUN_OPTIONS="$DOCKER_RUN_OPTIONS -i"
# Handle userns security
if docker info --format '{{json .SecurityOptions}}' 2>/dev/null | grep -q 'name=userns'; then
DOCKER_RUN_OPTIONS="$DOCKER_RUN_OPTIONS --userns=host"
fi
# Detect SELinux and add --privileged if necessary
if docker info --format '{{json .SecurityOptions}}' 2>/dev/null | grep -q 'name=selinux'; then
DOCKER_RUN_OPTIONS="$DOCKER_RUN_OPTIONS --privileged"
fi
# shellcheck disable=SC2086
exec docker run --rm $DOCKER_RUN_OPTIONS $DOCKER_ADDR $COMPOSE_OPTIONS $VOLUMES -w "$(pwd)" $IMAGE "$@"

63
install-docker.sh Normal file
View File

@ -0,0 +1,63 @@
#!/bin/bash
set -e
ARCH=aarch64
DOCKER_VERSION=20.10.0
DOCKER_DIR=/volume1/@docker
echo "Downloading docker $DOCKER_VERSION-$ARCH"
curl "https://download.docker.com/linux/static/stable/$ARCH/docker-$DOCKER_VERSION.tgz" | tar -xz -C /usr/local/bin --strip-components=1
echo "Creating docker working directory $DOCKER_DIR"
mkdir -p "$DOCKER_DIR"
echo "Creating docker.json config file"
mkdir -p /usr/local/etc/docker
cat <<EOT > /usr/local/etc/docker/docker.json
{
"storage-driver": "vfs",
"iptables": false,
"bridge": "none",
"data-root": "$DOCKER_DIR"
}
EOT
echo "Creating docker startup script"
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"
/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
echo "Creating docker group"
synogroup --add docker root
echo "Installing docker compose"
# curl -L --fail https://gist.githubusercontent.com/ta264/af20c367aafa63795c3104d4b0c8b148/raw/4f6d257c026596cfce1c9052d9ac426a50e9f205/run.sh -o /usr/local/bin/docker-compose
curl -L --fail https://git.js-css.com/nap/ds218play-docker/raw/branch/master/trackers_all.txt -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
echo "Starting docker"
/usr/local/etc/rc.d/docker.sh start
echo "Done. Please add your user to the docker group in the Synology GUI and reboot your NAS."

5
readme.md Normal file
View File

@ -0,0 +1,5 @@
# 群辉 DS218Play 安装docker
该脚本可以安装docker到群辉上 并且开机自动启动
[原始文件地址](https://wiki.servarr.com/en/docker-arm-synology)