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:
2022-08-22 21:54:41 -05:00
parent 530945d07e
commit 8011600f5b
2 changed files with 14 additions and 176 deletions

View File

@@ -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

View File

@@ -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