seedbox/docker-compose.yml

303 lines
8.8 KiB
YAML

version: '3'
services:
traefik:
image: traefik
container_name: traefik
restart: always
networks:
- webgateway
command: --acme.email=${ACME_MAIL} --docker.domain=${TRAEFIK_DOMAIN}
ports:
- "80:80"
- "443:443"
#- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.toml:/traefik.toml
- /opt/traefik/acme.json:/acme.json
deluge:
image: linuxserver/deluge
restart: always
networks:
- web
volumes:
- torrents:/torrents
- configdeluge:/config
- downloads:/downloads
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=Europe/Paris
labels:
- 'traefik.backend=deluge'
- 'traefik.port=8112'
- 'traefik.frontend.rule=Host:deluge.${TRAEFIK_DOMAIN}'
- 'traefik.frontend.auth.basic.users=${HTTP_USER}:${HTTP_PASSWORD}'
- 'traefik.enable=true'
filerun-db:
image: mariadb:10.1
restart: always
networks:
- web
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: filerun
labels:
- 'traefik.enable=false'
filerun-web:
image: afian/filerun
restart: always
networks:
- web
environment:
FR_DB_HOST: filerun-db
FR_DB_PORT: 3306
FR_DB_NAME: filerun
FR_DB_USER: ${MYSQL_USER}
FR_DB_PASS: ${MYSQL_PASSWORD}
depends_on:
- filerun-db
links:
- filerun-db:db
volumes:
- /data/config/filerun/web:/var/www/html
- alldata:/user-files
labels:
- 'traefik.backend=filerun'
- 'traefik.port=80'
- 'traefik.frontend.rule=Host:explore.${TRAEFIK_DOMAIN}'
- 'traefik.frontend.auth.basic.users=${HTTP_USER}:${HTTP_PASSWORD}'
- 'traefik.enable=true'
plex:
image: linuxserver/plex
restart: always
networks:
- web
ports:
- "32400:32400"
- "32400:32400/udp"
- "32469:32469"
- "32469:32469/udp"
- "5353:5353/udp"
- "1900:1900/udp"
volumes:
- configplex:/config
- torrents:/torrents
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=Europe/Paris
- VERSION=latest
labels:
- 'traefik.backend=plex'
- 'traefik.port=32400'
- 'traefik.frontend.rule=Host:plex.${TRAEFIK_DOMAIN}'
- 'traefik.frontend.auth.basic.users=${HTTP_USER}:${HTTP_PASSWORD}'
- 'traefik.enable=true'
jackett:
image: linuxserver/jackett
restart: always
networks:
- web
volumes:
- config:/config
- torrents:/downloads
- /etc/localtime:/etc/localtime:ro
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=Europe/Paris
labels:
- 'traefik.backend=jackett'
- 'traefik.port=9117'
- 'traefik.frontend.rule=Host:jackett.${TRAEFIK_DOMAIN}'
- 'traefik.frontend.auth.basic.users=${HTTP_USER}:${HTTP_PASSWORD}'
- 'traefik.enable=true'
sonarr:
image: linuxserver/sonarr:develop
restart: always
networks:
- web
volumes:
- configsonarr:/config
- torrents:/torrents
- /etc/localtime:/etc/localtime:ro
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=Europe/Paris
labels:
- 'traefik.backend=sonarr'
- 'traefik.port=8989'
- 'traefik.frontend.rule=Host:sonarr.${TRAEFIK_DOMAIN}'
- 'traefik.frontend.auth.basic.users=${HTTP_USER}:${HTTP_PASSWORD}'
- 'traefik.enable=true'
radarr:
image: linuxserver/radarr
restart: always
networks:
- web
volumes:
- configradarr:/config
- torrents:/torrents
- /etc/localtime:/etc/localtime:ro
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=Europe/Paris
labels:
- 'traefik.backend=radarr'
- 'traefik.port=7878'
- 'traefik.frontend.rule=Host:radarr.${TRAEFIK_DOMAIN}'
- 'traefik.frontend.auth.basic.users=${HTTP_USER}:${HTTP_PASSWORD}'
- 'traefik.enable=true'
bazarr:
image: linuxserver/bazarr
restart: always
networks:
- web
volumes:
- torrents:/torrents
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=Europe/Paris
labels:
- 'traefik.backend=bazarr'
- 'traefik.port=6767'
- 'traefik.frontend.rule=Host:bazarr.${TRAEFIK_DOMAIN}'
- 'traefik.frontend.auth.basic.users=${HTTP_USER}:${HTTP_PASSWORD}'
- 'traefik.enable=true'
tautulli:
image: linuxserver/tautulli
restart: always
networks:
- web
volumes:
- configtautulli:/config
- config:/logs:ro # Inside of tautulli, bind to logs via "/logs/Plex Media Server/Logs"
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=Europe/Paris
labels:
- 'traefik.tautulli.backend=tautulli'
- 'traefik.tautulli.port=8181'
- 'traefik.tautulli.frontend.rule=Host:tautulli.${TRAEFIK_DOMAIN}'
- 'traefik.enable=true'
jdownloader:
image: jlesage/jdownloader-2
networks:
- web
volumes:
- configjdownloader:/config
- downloads:/output
environment:
- USER_ID=${PUID}
- GROUP_ID=${PGID}
- TZ=Europe/Paris
labels:
- 'traefik.backend=jdownloader'
- 'traefik.port=5800'
- 'traefik.frontend.rule=Host:jdownloader.${TRAEFIK_DOMAIN}'
- 'traefik.frontend.auth.basic.users=${HTTP_USER}:${HTTP_PASSWORD}'
- 'traefik.enable=true'
nextcloud:
image: wonderfall/nextcloud
restart: always
networks:
- web
volumes:
- confignextcloud:/config
- alldata:/data
environment:
- GID=${PGID}
- UID=${PUID}
- TZ=Europe/Paris
labels:
- 'traefik.backend=nextcloud'
- 'traefik.port=8888'
- 'traefik.frontend.rule=Host:nextcloud.${TRAEFIK_DOMAIN}'
- 'traefik.frontend.auth.basic.users=${HTTP_USER}:${HTTP_PASSWORD}'
- 'traefik.enable=true'
portainer:
image: portainer/portainer
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- web
command: --admin-password ${PORTAINER_ADMIN_PASSWORD} --host=unix:///var/run/docker.sock
labels:
- 'traefik.backend=portainer'
- 'traefik.port=9000'
- 'traefik.frontend.rule=Host:portainer.${TRAEFIK_DOMAIN}'
- 'traefik.enable=true'
networks:
webgateway:
driver: bridge
web:
external:
name: seedbox_webgateway
volumes:
alldata:
driver: local-persist
driver_opts:
mountpoint: /data
config:
driver: local-persist
driver_opts:
mountpoint: /data/config
configplex:
driver: local-persist
driver_opts:
mountpoint: /data/config/Plex
configsonarr:
driver: local-persist
driver_opts:
mountpoint: /data/config/sonarr
configradarr:
driver: local-persist
driver_opts:
mountpoint: /data/config/radarr
configdeluge:
driver: local-persist
driver_opts:
mountpoint: /data/config/deluge
configtautulli:
driver: local-persist
driver_opts:
mountpoint: /data/config/tautulli
configjdownloader:
driver: local-persist
driver_opts:
mountpoint: /data/config/jdownloader
confignextcloud:
driver: local-persist
driver_opts:
mountpoint: /data/config/nextcloud
torrents:
driver: local-persist
driver_opts:
mountpoint: /data/torrents
downloads:
driver: local-persist
driver_opts:
mountpoint: /data/torrents/deluge