diff --git a/condensed-media-server.yml b/condensed-media-server.yml deleted file mode 100644 index 0f0a814..0000000 --- a/condensed-media-server.yml +++ /dev/null @@ -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 - diff --git a/media-buildout.yml b/media-buildout.yml index c40439b..3d2b9e5 100644 --- a/media-buildout.yml +++ b/media-buildout.yml @@ -7,9 +7,8 @@ roles: - geerlingguy.pip - geerlingguy.docker - tasks: - - name: install docker tools + - name: Install docker tools ansible.builtin.package: name: "{{ item }}" state: present @@ -30,3 +29,16 @@ loop: - { user: "zware", shell: "/bin/zsh", groups: "sudo,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