init
This commit is contained in:
commit
e174c6610c
10
.gitignore
vendored
Normal file
10
.gitignore
vendored
Normal 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
75
install-docker-compose.sh
Normal 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
63
install-docker.sh
Normal 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."
|
Loading…
x
Reference in New Issue
Block a user