Initial comit
This commit is contained in:
73
docker-compose.yml
Normal file
73
docker-compose.yml
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
bookvpn:
|
||||||
|
image: ghcr.io/bubuntux/nordvpn
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
- NET_RAW
|
||||||
|
environment:
|
||||||
|
- USER=djdietrick@gmail.com
|
||||||
|
- "PASS=i!quJjFZa2&l"
|
||||||
|
- CONNECT=United_States
|
||||||
|
- TECHNOLOGY=NordLynx
|
||||||
|
- NETWORK=192.168.1.0/24 # So it can be accessed within the local network
|
||||||
|
ports:
|
||||||
|
- 8084:8080
|
||||||
|
# - 8788:8787 # Readarr
|
||||||
|
# - 9118:9117 # Jackett
|
||||||
|
# - 9092:9091 # Transmission
|
||||||
|
sysctls:
|
||||||
|
- net.ipv6.conf.all.disable_ipv6=1
|
||||||
|
booktransmission:
|
||||||
|
image: linuxserver/transmission:latest
|
||||||
|
network_mode: service:bookvpn
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- bookvpn
|
||||||
|
volumes:
|
||||||
|
- /portainer/booktransmission:/config
|
||||||
|
- /media/books/downloads:/data
|
||||||
|
- /etc/localtime:/etc/localtime
|
||||||
|
environment:
|
||||||
|
- GROUPID=1000
|
||||||
|
- USERID=1000
|
||||||
|
- TRANSMISSION_DOWNLOAD_DIR=/data/completed
|
||||||
|
- TRANSMISSION_INCOMPLETE_DIR=/data/incomplete
|
||||||
|
- TRANSMISSION_WATCH_DIR=/data/watch
|
||||||
|
bookreadarr:
|
||||||
|
image: hotio/readarr:latest
|
||||||
|
network_mode: service:bookvpn
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- bookvpn
|
||||||
|
volumes:
|
||||||
|
- /portainer/bookreadarr:/config
|
||||||
|
- /media/books/downloads:/downloads
|
||||||
|
- /media/books:/books
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- GUID=1000
|
||||||
|
- TZ=America/New_York
|
||||||
|
bookjackett:
|
||||||
|
image: lscr.io/linuxserver/jackett:latest
|
||||||
|
network_mode: service:bookvpn
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- bookvpn
|
||||||
|
volumes:
|
||||||
|
- /media/books/downloads:/downloads
|
||||||
|
- /portainer/bookjackett:/config
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
booknginxjackett:
|
||||||
|
image: nginx:jackett
|
||||||
|
container_name: nginx_jackett
|
||||||
|
build: ./nginx/
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- 9118:9117
|
||||||
|
links:
|
||||||
|
- bookvpn:bookjackett
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
6
nginx/Dockerfile
Normal file
6
nginx/Dockerfile
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
FROM nginx:alpine
|
||||||
|
|
||||||
|
ADD nginx.conf /etc/nginx/nginx.conf
|
||||||
|
ADD wait-for /usr/bin
|
||||||
|
|
||||||
|
CMD ["/usr/bin/wait-for", "jackett:9117", "--","nginx", "-g", "daemon off;"]
|
||||||
14
nginx/nginx.conf
Normal file
14
nginx/nginx.conf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
stream {
|
||||||
|
upstream jackettweb {
|
||||||
|
server jackett:9117 fail_timeout=5s max_fails=5;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 9117;
|
||||||
|
proxy_pass jackettweb;
|
||||||
|
}
|
||||||
|
}
|
||||||
79
nginx/wait-for
Normal file
79
nginx/wait-for
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
TIMEOUT=15
|
||||||
|
QUIET=0
|
||||||
|
|
||||||
|
echoerr() {
|
||||||
|
if [ "$QUIET" -ne 1 ]; then printf "%s\n" "$*" 1>&2; fi
|
||||||
|
}
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
exitcode="$1"
|
||||||
|
cat << USAGE >&2
|
||||||
|
Usage:
|
||||||
|
$cmdname host:port [-t timeout] [-- command args]
|
||||||
|
-q | --quiet Do not output any status messages
|
||||||
|
-t TIMEOUT | --timeout=timeout Timeout in seconds, zero for no timeout
|
||||||
|
-- COMMAND ARGS Execute command with args after the test finishes
|
||||||
|
USAGE
|
||||||
|
exit "$exitcode"
|
||||||
|
}
|
||||||
|
|
||||||
|
wait_for() {
|
||||||
|
for i in `seq $TIMEOUT` ; do
|
||||||
|
nc -z "$HOST" "$PORT" > /dev/null 2>&1
|
||||||
|
|
||||||
|
result=$?
|
||||||
|
if [ $result -eq 0 ] ; then
|
||||||
|
if [ $# -gt 0 ] ; then
|
||||||
|
exec "$@"
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
echo "Operation timed out" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
while [ $# -gt 0 ]
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
*:* )
|
||||||
|
HOST=$(printf "%s\n" "$1"| cut -d : -f 1)
|
||||||
|
PORT=$(printf "%s\n" "$1"| cut -d : -f 2)
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-q | --quiet)
|
||||||
|
QUIET=1
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-t)
|
||||||
|
TIMEOUT="$2"
|
||||||
|
if [ "$TIMEOUT" = "" ]; then break; fi
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--timeout=*)
|
||||||
|
TIMEOUT="${1#*=}"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
--help)
|
||||||
|
usage 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echoerr "Unknown argument: $1"
|
||||||
|
usage 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$HOST" = "" -o "$PORT" = "" ]; then
|
||||||
|
echoerr "Error: you need to provide a host and port to test."
|
||||||
|
usage 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
wait_for "$@"
|
||||||
Reference in New Issue
Block a user