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: {}