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