services: nginx-proxy: image: jwilder/nginx-proxy ports: - "80:80" - "443:443" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./nginx/certs:/etc/nginx/certs - ./nginx/html:/usr/share/nginx/html - ./nginx/vhost.d:/etc/nginx/vhost.d - ./client_max_body_size.conf:/etc/nginx/conf.d/client_max_body_size.conf:ro nginx-letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion container_name: nginx-letsencrypt restart: always volumes_from: - nginx-proxy volumes: - /var/run/docker.sock:/var/run/docker.sock:ro environment: - DEFAULT_EMAIL=${EMAIL} redis: image: redis:alpine container_name: redis-dbcache restart: unless-stopped homarr: container_name: homarr image: ghcr.io/ajnart/homarr:latest restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration - ${CONFIG_LOCATION}/homarr:/app/data/configs - ${DATA_LOCATION}/homarr/icons:/app/public/icons - ${DATA_LOCATION}/homarr:/data environment: - VIRTUAL_HOST=homarr.${DOMAIN}, ${DOMAIN}, www.${DOMAIN} - LETSENCRYPT_HOST="homarr.${DOMAIN}, ${DOMAIN}, www.${DOMAIN}" - LETSENCRYPT_EMAIL=${EMAIL} expose: - "7575" ports: - '7575:7575' dashdot: image: mauricenino/dashdot container_name: dashdot restart: unless-stopped privileged: true environment: - VIRTUAL_HOST=dash.${DOMAIN} - DASHDOT_ENABLE_CPU_TEMPS=true - DASHDOT_FS_DEVICE_FILTER=sda,sdb,sdc,sdd,sde,sdf - DASHDOT_FS_VIRTUAL_MOUNTS=tank/storage/media, psb29404@psb29404.seedbox.io:/files expose: - "3001" ports: - 3001:3001 volumes: - /:/mnt/host:ro plex: image: plexinc/pms-docker:latest container_name: plex environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=plex.${DOMAIN} - VERSION=docker - PLEX_CLAIM=${PLEX_CLAIM} volumes: - ${CONFIG_LOCATION}/plex:/config - ${DATA_LOCATION}/TV:/tv - ${DATA_LOCATION}/Movies:/movies - ${DATA_LOCATION}/Music:/music expose: - "32400" ports: - 32400:32400 restart: unless-stopped tautulli: image: lscr.io/linuxserver/tautulli:latest container_name: tautulli environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - VIRTUAL_HOST=tautulli.${DOMAIN},plex-stats.${DOMAIN} - LETSENCRYPT_HOST=tautulli.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ${CONFIG_LOCATION}/tautulli:/config ports: - 8181:8181 restart: unless-stopped radarr: image: lscr.io/linuxserver/radarr:latest container_name: radarr environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=radarr.${DOMAIN},radar.${DOMAIN} - LETSENCRYPT_HOST=radarr.${DOMAIN},radar.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ${CONFIG_LOCATION}/radarr:/config - ${DATA_LOCATION}/Movies:/movies - /media/seedbox:/downloads expose: - "7878" ports: - 7878:7878 restart: unless-stopped sonarr: image: lscr.io/linuxserver/sonarr:latest container_name: sonarr environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=sonarr.${DOMAIN},sonar.${DOMAIN} - LETSENCRYPT_HOST=sonarr.${DOMAIN},sonar.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ${CONFIG_LOCATION}/sonarr:/config - ${DATA_LOCATION}/TV:/tv - /media/seedbox:/downloads expose: - "8989" ports: - 8989:8989 restart: unless-stopped prowlarr: image: lscr.io/linuxserver/prowlarr:latest container_name: prowlarr environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=prowlarr.${DOMAIN} - LETSENCRYPT_HOST=prowlarr.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ${CONFIG_LOCATION}/prowlarr:/config expose: - "9696" ports: - 9696:9696 restart: unless-stopped bazarr: image: lscr.io/linuxserver/bazarr:latest container_name: bazarr environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - VIRTUAL_HOST=bazarr.${DOMAIN} - LETSENCRYPT_HOST=bazarr.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ${CONFIG_LOCATION}/bazarr:/config - ${DATA_LOCATION}/Movies:/movies #optional - ${DATA_LOCATION}/TV:/tv #optional expose: - "6767" ports: - 6767:6767 restart: unless-stopped overseerr: image: lscr.io/linuxserver/overseerr:latest container_name: overseerr environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=overseerr.${DOMAIN},overseer.${DOMAIN} - LETSENCRYPT_HOST=overseerr.${DOMAIN},overseer.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ${CONFIG_LOCATION}/overseerr:/config expose: - "5055" ports: - 5055:5055 restart: unless-stopped lidarr: image: lscr.io/linuxserver/lidarr:latest container_name: lidarr environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=lidarr.${DOMAIN},lidar.${DOMAIN} - LETSENCRYPT_HOST=lidarr.${DOMAIN},lidar.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ${CONFIG_LOCATION}/lidarr:/config - ${DATA_LOCATION}/Music:/music - /media/seedbox:/downloads expose: - "8686" ports: - 8686:8686 restart: unless-stopped mylar3: image: lscr.io/linuxserver/mylar3:latest container_name: mylar3 environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=mylar.${DOMAIN},mylar3.${DOMAIN} - LETSENCRYPT_HOST=mylar.${DOMAIN},mylar3.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ${CONFIG_LOCATION}/mylar3:/config - ${DATA_LOCATION}/Comics:/comics - /media/seedbox:/downloads ports: - 8090:8090 restart: unless-stopped navidrome: image: deluan/navidrome:latest user: 1000:1000 # should be owner of volumes ports: - "4533:4533" expose: - "4533" restart: unless-stopped environment: # Optional: put your config options customization here. Examples: ND_SCANSCHEDULE: 1h ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: "" VIRTUAL_HOST: "navidrome.${DOMAIN}" LETSENCRYPT_HOST: "navidrome.${DOMAIN}" LETSENCRYPT_EMAIL: ${EMAIL} volumes: - "${DATA_LOCATION}:/data" - "${DATA_LOCATION}/Music:/music:ro" ubooquity: image: lscr.io/linuxserver/ubooquity:latest container_name: ubooquity environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=ubooquity.${DOMAIN} - VIRTUAL_PORT=2202 # - MAXMEM= #optional volumes: - ${CONFIG_LOCATION}/ubooquity:/config - ${DATA_LOCATION}/Books:/books - ${DATA_LOCATION}/Comics:/comics # - /path/to/raw/files:/files expose: - "2202" - "2203" ports: - 2202:2202 #:2202/ubooquity - 2203:2203 #:2203/ubooquity/admin restart: unless-stopped audiobookshelf: image: ghcr.io/advplyr/audiobookshelf:latest ports: - 13378:80 volumes: - ${CONFIG_LOCATION}/audiobookshelf:/config - ${DATA_LOCATION}/Audiobooks:/audiobooks # - :/podcasts - ${DATA_LOCATION}/Audiobooks/metadata:/metadata environment: - TZ=${TZ} - VIRTUAL_HOST=audiobookshelf.${DOMAIN} readarr: image: lscr.io/linuxserver/readarr:develop container_name: readarr environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=readarr.${DOMAIN},readar.${DOMAIN} - LETSENCRYPT_HOST=readarr.${DOMAIN},readar.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ${CONFIG_LOCATION}/readarr:/config - ${DATA_LOCATION}/Books:/books - /media/seedbox:/downloads expose: - "8787" ports: - 8787:8787 restart: unless-stopped readarraudio: image: lscr.io/linuxserver/readarr:develop container_name: readarraudio environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=readarraudio.${DOMAIN},readaraudio.${DOMAIN} - LETSENCRYPT_HOST=readarraudio.${DOMAIN},readaraudio.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ${CONFIG_LOCATION}/readarr-audio:/config - ${DATA_LOCATION}/Audiobooks:/audiobooks - /media/seedbox:/downloads restart: unless-stopped wordpress-botc: depends_on: - db image: wordpress restart: always environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: ${DBPASS} WORDPRESS_DB_NAME: clocktower VIRTUAL_HOST: "botc.${DOMAIN}, *.phillybotc.com" LETSENCRYPT_HOST: "botc.${DOMAIN}, *.phillybotc.com" LETSENCRYPT_EMAIL: ${EMAIL} volumes: - wordpress-botc:/var/www/html # wordpress-home: # depends_on: # - db # image: wordpress # restart: always # environment: # WORDPRESS_DB_HOST: db # WORDPRESS_DB_USER: root # WORDPRESS_DB_PASSWORD: ${DBPASS} # WORDPRESS_DB_NAME: homepage # VIRTUAL_HOST: "${DOMAIN}, www.${DOMAIN}" # LETSENCRYPT_HOST: "www.brodin.rocks" # LETSENCRYPT_EMAIL: "bjageman@gmail.com" # volumes: # - wordpress-home:/var/www/html db: image: mysql:latest restart: always environment: MYSQL_ROOT_PASSWORD: ${DBPASS} volumes: - db:/var/lib/mysql - ./docker/provision/mysql/init:/docker-entrypoint-initdb.d #Nextcloud nextcloud: depends_on: - db image: lscr.io/linuxserver/nextcloud:latest container_name: nextcloud environment: PUID: "1000" PGID: "1000" TZ: "${TZ}" VIRTUAL_HOST: "nextcloud.${DOMAIN}" MYSQL_HOST: db MYSQL_DATABASE: nextcloud MYSQL_USER: root MYSQL_PASSWORD: ${DBPASS} REDIS_HOST: redis LETSENCRYPT_HOST: nextcloud.${DOMAIN} LETSENCRYPT_EMAIL: ${EMAIL} # LETSENCRYPT_TEST: true volumes: - ${CONFIG_LOCATION}/nextcloud:/config - ${DATA_LOCATION}/Cloud/Nextcloud:/data restart: unless-stopped volumes: # wordpress-home: wordpress-botc: db: