ansible/roles/docker_host/files/compose.yaml

415 lines
9.6 KiB
YAML

services:
nginx:
container_name: "nginx"
image: "jc21/nginx-proxy-manager:latest"
restart: unless-stopped
networks:
- net
ports:
- "80:80"
- "443:443"
- "8080:81"
volumes:
- "/opt/docker/config/nginx/data:/data"
- "/opt/docker/config/nginx/letsencrypt:/etc/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock"
syncthing:
image: syncthing/syncthing
container_name: syncthing
restart: unless-stopped
depends_on:
- nginx
networks:
- net
ports:
- 22000:22000/tcp # TCP file transfers
- 22000:22000/udp # QUIC file transfers
- 21027:21027/udp # Receive local discovery broadcasts
volumes:
- "/media/docker/data/syncthing/:/var/syncthing"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
hostname: syncthing
kuma:
container_name: kuma
image: louislam/uptime-kuma:1
restart: unless-stopped
depends_on:
- nginx
networks:
- net
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
ports:
- "3001:3001"
volumes:
- "/opt/local/kuma/:/app/data"
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
restart: unless-stopped
depends_on:
- nginx
networks:
- net
devices:
- /dev/dri:/dev/dri
ports:
- "32400:32400"
- "1900:1900"
- "3005:3005"
- "5353:5353"
- "32410:32410"
- "8324:8324"
- "32412:32412"
- "32469:32469"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- VERSION=docker
volumes:
- "/opt/local/plex/config/:/config"
- "/media/series:/tv:ro"
- "/media/movies:/movies:ro"
- "/media/songs:/music:ro"
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
restart: unless-stopped
depends_on:
- prowlarr
networks:
- net
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- /opt/local/sonarr/config:/config
- /media/series:/tv #optional
- /media/docker/data/arr_downloads/sonarr:/downloads #optional
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
restart: unless-stopped
depends_on:
- prowlarr
networks:
- net
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- /opt/local/radarr/config:/config
- /media/movies:/movies #optional
- /media/docker/data/arr_downloads/radarr:/downloads #optional
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: lidarr
restart: unless-stopped
depends_on:
- prowlarr
networks:
- net
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- /opt/local/lidarr/config:/config
- /media/songs:/music #optional
- /media/docker/data/arr_downloads/lidarr:/downloads #optional
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
restart: unless-stopped
depends_on:
- torrentleech
networks:
- net
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- /opt/local/prowlarr/config:/config
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
restart: unless-stopped
networks:
- net
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- /opt/docker/config/gluetun/config:/gluetun
ports:
- 8082:8082
- 8083:8083
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- VPN_SERVICE_PROVIDER=protonvpn
- UPDATER_VPN_SERVICE_PROVIDERS=protonvpn
- UPDATER_PERIOD=24h
- SERVER_COUNTRIES=Hungary
- OPENVPN_USER=MfCOtzTIEsmu1wY-q2lAZ3X1+pmp
- OPENVPN_PASSWORD=knCl1Zl5PHz4HMWVCGR77dYa
torrentleech:
image: qbittorrentofficial/qbittorrent-nox
container_name: torrentleech
restart: unless-stopped
depends_on:
- gluetun
network_mode: "container:gluetun"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- QBT_EULA="accept"
- QBT_WEBUI_PORT="8083"
volumes:
- /opt/docker/config/torrentleech/config:/config
- /media/docker/data/arr_downloads:/downloads
qbit:
image: qbittorrentofficial/qbittorrent-nox
container_name: qbit
restart: unless-stopped
depends_on:
- gluetun
network_mode: "container:gluetun"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- QBT_EULA="accept"
- QBT_WEBUI_PORT="8082"
volumes:
- /opt/docker/config/qbit/config:/config
- /media/docker/data/arr_downloads:/downloads
prometheus:
image: prom/prometheus
container_name: prometheus
restart: unless-stopped
depends_on:
- nginx
networks:
- net
environment:
- PUID=65534
- PGID=65534
- TZ=Europe/Berlin
volumes:
- /opt/docker/config/prometheus/:/etc/prometheus/
- prometheus_data:/prometheus/
grafana:
image: grafana/grafana-oss
container_name: grafana
restart: unless-stopped
user: "0:0"
depends_on:
- prometheus
networks:
- net
environment:
- PUID=472
- PGID=472
- TZ=Europe/Berlin
volumes:
- /media/docker/data/grafana/:/var/lib/grafana/
- /opt/docker/config/grafana/config/:/etc/grafana/
ddns-updater:
container_name: ddns-updater
image: "ghcr.io/qdm12/ddns-updater"
restart: unless-stopped
depends_on:
- nginx
networks:
net: {}
volumes:
- "/opt/docker/config/ddns-updater/data/:/updater/data/"
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
restart: unless-stopped
depends_on:
- nginx
networks:
net: {}
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/opt/local/home-assistant/config/:/config/"
privileged: true
ports:
- "8123:8123"
- 4357:4357
- 5683:5683
- 5683:5683/udp
stirling:
container_name: stirling
image: frooodle/s-pdf:latest
restart: unless-stopped
depends_on:
- nginx
networks:
net: {}
jellyfin:
container_name: jellyfin
image: jellyfin/jellyfin
restart: "unless-stopped"
depends_on:
- nginx
networks:
net: {}
devices:
- /dev/dri:/dev/dri
volumes:
- /opt/local/jellyfin/config:/config
- /opt/docker/config/jellyfin/cache:/cache
- /media/series:/tv:ro
- /media/movies:/movies:ro
- /media/songs:/music:ro
ports:
- "8096:8096"
paperless-broker:
container_name: paperless-broker
image: docker.io/library/redis:7
restart: unless-stopped
depends_on:
- nginx
networks:
- net
volumes:
- /opt/local/paperless/redis/data:/data
paperless-postgres:
container_name: paperless-postgres
image: docker.io/library/postgres:15
restart: unless-stopped
depends_on:
- nginx
networks:
- net
volumes:
- /opt/local/paperless/db/data:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: 5fnhn%u2YWY3paNvMAjdoufYPQ2Hf3Yi
paperless:
container_name: paperless
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- paperless-postgres
- paperless-broker
networks:
- net
healthcheck:
test:
["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- /opt/local/paperless/data/data:/usr/src/paperless/data
- /opt/local/paperless/data/media:/usr/src/paperless/media
- /opt/local/paperless/data/export:/usr/src/paperless/export
- /opt/local/paperless/data/consume:/usr/src/paperless/consume
environment:
- "PAPERLESS_REDIS=redis://paperless-broker:6379"
- "PAPERLESS_DBHOST=paperless-postgres"
- "PAPERLESS_DBUSER=paperless"
- "PAPERLESS_DBPASS=5fnhn%u2YWY3paNvMAjdoufYPQ2Hf3Yi"
- "USERMAP_UID=1000"
- "USERMAP_GID=1000"
- "PAPERLESS_URL=https://paperless.docker-host00.lulu.seyshiro.de"
- "PAPERLESS_TIME_ZONE=Europe/Berlin"
- "PAPERLESS_OCR_LANGUAGE=deu"
git:
container_name: git
image: gitea/gitea:1.20.5-rootless
restart: unless-stopped
depends_on:
- nginx
networks:
- net
volumes:
- /opt/local/gitea/data:/var/lib/gitea
- /opt/local/gitea/config:/etc/gitea
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:2222"
environment:
- USER_UID=1000
- USER_GID=1000
changedetection:
container_name: changedetection
image: dgtlmoon/changedetection.io
restart: unless-stopped
depends_on:
- nginx
networks:
- net
volumes:
- "/opt/docker/config/changedetection/data/:/datastore"
calibre:
container_name: calibre
image: lscr.io/linuxserver/calibre-web:latest
restart: unless-stopped
depends_on:
- nginx
networks:
- net
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- DOCKER_MODS=linuxserver/mods:universal-calibre #optional
volumes:
- "/opt/local/calibre/:/config"
- "/media/docker/data/calibre/:/books"
networks:
net:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.16.69.0/24
volumes:
prometheus_data: {}