WIP - Added docker commands
add step to move docker file over add step to attempt to start docker containers modify docker-compose to create network tested docker-compose containers start and are accessible via port
This commit is contained in:
@@ -1,174 +0,0 @@
|
|||||||
---
|
|
||||||
version: '3.4'
|
|
||||||
x-function: &function
|
|
||||||
networks:
|
|
||||||
- traefik_proxy1
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.docker.network=traefik_proxy1"
|
|
||||||
- "traefik.frontend.headers.SSLRedirect=true"
|
|
||||||
- "traefik.frontend.headers.STSSeconds=315360000"
|
|
||||||
- "traefik.frontend.headers.browserXSSFilter=true"
|
|
||||||
- "traefik.frontend.headers.contentTypeNosniff=true"
|
|
||||||
- "traefik.frontend.headers.forceSTSHeader=true"
|
|
||||||
- "traefik.frontend.headers.SSLHost=example.com"
|
|
||||||
- "traefik.frontend.headers.STSIncludeSubdomains=true"
|
|
||||||
- "traefik.frontend.headers.STSPreload=true"
|
|
||||||
- "traefik.frontend.headers.frameDeny=true"
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
- PUID=${PUID}
|
|
||||||
- PGID=${PGID}
|
|
||||||
- TZ=${TZ}
|
|
||||||
# Media Server
|
|
||||||
services:
|
|
||||||
#Grabber, manage TV shows
|
|
||||||
|
|
||||||
sonarr:
|
|
||||||
<<: *function
|
|
||||||
image: linuxserver/sonarr:latest
|
|
||||||
container_name: sonarr
|
|
||||||
volumes:
|
|
||||||
- /opt/appdata/sonarr:/config
|
|
||||||
- /mnt/storage/tv:/tv
|
|
||||||
- /downloads/:/downloads
|
|
||||||
- /downloads/complete/tv_import:/tv_import
|
|
||||||
ports:
|
|
||||||
- 27021:8989
|
|
||||||
labels:
|
|
||||||
- "traefik.backend=sonarr"
|
|
||||||
- "traefik.port=8989"
|
|
||||||
- "traefik.frontend.rule=Host:sonarr.${DOMAINNAME}"
|
|
||||||
- "docker.group=external"
|
|
||||||
|
|
||||||
#Indexer, Used by managers to query sites for content
|
|
||||||
jackett:
|
|
||||||
<<: *function
|
|
||||||
image: linuxserver/jackett:latest
|
|
||||||
container_name: jackett
|
|
||||||
volumes:
|
|
||||||
- /opt/appdata/jackett:/config
|
|
||||||
- /downloads:/downloads
|
|
||||||
ports:
|
|
||||||
- 9117:9117
|
|
||||||
labels:
|
|
||||||
- "traefik.backend=jackett"
|
|
||||||
- "traefik.frontend.rule=Host:jackett.${DOMAINNAME}"
|
|
||||||
- "traefik.port=9117"
|
|
||||||
- "docker.group=internal"
|
|
||||||
#Reverse Proxy, Used to route applications to domain
|
|
||||||
traefik:
|
|
||||||
<<: *function
|
|
||||||
hostname: traefik
|
|
||||||
image: traefik:v1.7
|
|
||||||
container_name: traefik
|
|
||||||
domainname: ${DOMAINNAME}
|
|
||||||
networks:
|
|
||||||
- default
|
|
||||||
- traefik_proxy1
|
|
||||||
ports:
|
|
||||||
- "80:80"
|
|
||||||
- "443:443"
|
|
||||||
- "8080:8080"
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.backend=traefik"
|
|
||||||
- "traefik.frontend.rule=Host:traefik.${DOMAINNAME}"
|
|
||||||
- "traefik.port=80"
|
|
||||||
- "traefik.frontend.auth.basic.users=${HTTP_USERNAME}:${HTTP_PASSWORD}"
|
|
||||||
- "docker.group=internal"
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
||||||
- /home/dockeruser/traefik:/etc/traefik
|
|
||||||
- /opt/appdata/shared:/shared
|
|
||||||
- /opt/appdata/traefik:/var/log
|
|
||||||
- /opt/appdata/traefik/tmp:/tmp
|
|
||||||
#Downloader, pull in content from torrents & hide traffic behind VPN
|
|
||||||
arch-deluge:
|
|
||||||
<<: *function
|
|
||||||
image: binhex/arch-delugevpn:latest
|
|
||||||
container_name: arch-deluge
|
|
||||||
ports:
|
|
||||||
- 8112:8112
|
|
||||||
- 8118:8118
|
|
||||||
- 58846:58846
|
|
||||||
- 58946:58946
|
|
||||||
cap_add:
|
|
||||||
- NET_ADMIN
|
|
||||||
volumes:
|
|
||||||
- /opt/appdata/arch-deluge:/config
|
|
||||||
- /downloads:/downloads
|
|
||||||
- /mnt/storage:/mnt/storage
|
|
||||||
- /opt/appdata/shared:/shared
|
|
||||||
- /opt/appdata/arch-deluge/data:/data
|
|
||||||
environment:
|
|
||||||
- PUID=${PUID}
|
|
||||||
- PGID=${PGID}
|
|
||||||
- TZ=${TZ}
|
|
||||||
- VPN_ENABLED=yes
|
|
||||||
- VPN_USER=${VPN_USER}
|
|
||||||
- VPN_PASS=${VPN_PASS}
|
|
||||||
- VPN_PROV=custom
|
|
||||||
- STRICT_PORT_FORWARD=yes
|
|
||||||
- ENABLE_PRIVOXY=yes
|
|
||||||
- LAN_NETWORK=192.168.0.100/24
|
|
||||||
- NAME_SERVERS=103.86.96.100, 103.86.99.100
|
|
||||||
- DELUGE_DAEMON_LOG_LEVEL=error
|
|
||||||
- DELUGE_WEB_LOG_LEVEL=error
|
|
||||||
- DEBUG=true
|
|
||||||
- UMASK=000
|
|
||||||
labels:
|
|
||||||
- "traefik.backend=arch-deluge"
|
|
||||||
- "traefik.frontend.rule=Host:deluge.${DOMAINNAME}"
|
|
||||||
- "traefik.port=8112"
|
|
||||||
- "docker.group=external"
|
|
||||||
privileged: true
|
|
||||||
#updated version of plex requests
|
|
||||||
ombi:
|
|
||||||
<<: *function
|
|
||||||
image: linuxserver/ombi
|
|
||||||
container_name: ombi
|
|
||||||
environment:
|
|
||||||
- PUID=${PUID}
|
|
||||||
- PGID=${PGID}
|
|
||||||
- TZ=${TZ}
|
|
||||||
- BASE_URL=/ombi #optional
|
|
||||||
volumes:
|
|
||||||
- /opt/appdata/ombi:/config
|
|
||||||
- /opt/appdata/shared:/shared
|
|
||||||
networks:
|
|
||||||
- traefik_proxy1
|
|
||||||
labels:
|
|
||||||
- "traefik.backend=ombi"
|
|
||||||
- "traefik.frontend.rule=Host:requests.${DOMAINNAME}" #
|
|
||||||
- "traefik.port=3579"
|
|
||||||
- "traefik.docker.network=traefik_proxy1"
|
|
||||||
- "docker.group=external"
|
|
||||||
ports:
|
|
||||||
- 3579:3579
|
|
||||||
#NZBGet - usenet downloader
|
|
||||||
nzbget:
|
|
||||||
<<: *function
|
|
||||||
image: linuxserver/nzbget:latest
|
|
||||||
container_name: nzbget
|
|
||||||
volumes:
|
|
||||||
- /opt/appdata/nzbget/config:/config
|
|
||||||
- /opt/appdata/nzbget/data:/data
|
|
||||||
- /downloads:/downloads
|
|
||||||
- /opt/appdata/shared:/shared
|
|
||||||
ports:
|
|
||||||
- 27020:6789
|
|
||||||
networks:
|
|
||||||
- traefik_proxy1
|
|
||||||
labels:
|
|
||||||
- "traefik.backend=nzbget"
|
|
||||||
- "traefik.frontend.rule=Host:nzbget.${DOMAINNAME}" #
|
|
||||||
- "traefik.port=6789"
|
|
||||||
- "docker.group=external"
|
|
||||||
#Networks, Needed for Traefik
|
|
||||||
networks:
|
|
||||||
traefik_proxy1:
|
|
||||||
external: true
|
|
||||||
default:
|
|
||||||
driver: bridge
|
|
||||||
|
|
||||||
@@ -7,9 +7,8 @@
|
|||||||
roles:
|
roles:
|
||||||
- geerlingguy.pip
|
- geerlingguy.pip
|
||||||
- geerlingguy.docker
|
- geerlingguy.docker
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: install docker tools
|
- name: Install docker tools
|
||||||
ansible.builtin.package:
|
ansible.builtin.package:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
state: present
|
state: present
|
||||||
@@ -30,3 +29,16 @@
|
|||||||
loop:
|
loop:
|
||||||
- { user: "zware", shell: "/bin/zsh", groups: "sudo,docker" }
|
- { user: "zware", shell: "/bin/zsh", groups: "sudo,docker" }
|
||||||
- { user: "dockeruser", shell: "/bin/bash", groups: "docker" }
|
- { user: "dockeruser", shell: "/bin/bash", groups: "docker" }
|
||||||
|
|
||||||
|
- name: Copy docker-compose
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: docker-compose.yml
|
||||||
|
dest: /opt/docker-compose.yml
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
|
||||||
|
- name: Start containers
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: docker-compose.yml
|
||||||
|
state: present
|
||||||
|
|||||||
Reference in New Issue
Block a user