Last active
July 15, 2024 03:31
-
-
Save Goblinlordx/00344f4a5fb57acafdcd7bb8e6bdaeda to your computer and use it in GitHub Desktop.
Example docker compose for server
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3.3" | |
services: | |
traefik: | |
image: traefik:v2.5 | |
container_name: traefik | |
restart: unless-stopped | |
ports: | |
- "80:80" # The HTTP port | |
- "443:443" # The HTTPS port | |
volumes: | |
- /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events | |
- ./traefik:/etc/traefik | |
deluge: | |
image: lscr.io/linuxserver/deluge | |
container_name: deluge | |
restart: unless-stopped | |
environment: | |
- PUID=1000 | |
- PGID=1000 | |
- TZ=Asia/Seoul | |
- UMASK_SET=002 | |
- DELUGE_LOGLEVEL=debug | |
volumes: | |
- ../inprog:/downloads | |
- ./data/deluge:/config | |
ports: | |
- 8112:8112 | |
labels: | |
- "traefik.http.routers.deluge.rule=Host(\"deluge.domain.com\")" | |
- "traefik.http.routers.deluge.tls=true" | |
- "traefik.http.routers.deluge.tls.certresolver=primary" | |
- "traefik.http.routers.deluge.tls.domains[0].main=deluge.domain.com" | |
jellyfin: | |
build: ./jellyfin-ihd | |
# image: jellyfin/jellyfin | |
# image: jellyfin/jellyfin:10.8.0-alpha5 | |
container_name: jellyfin | |
user: 1000:1000 | |
privileged: true | |
restart: unless-stopped | |
group_add: | |
- "44" | |
- "109" | |
ports: | |
- 8080:8096 | |
environment: | |
- JELLYFIN_CACHE_DIR=/var/cache/jellyfin | |
- JELLYFIN_CONFIG_DIR=/etc/jellyfin | |
- JELLYFIN_DATA_DIR=/var/lib/jellyfin | |
- JELLYFIN_LOG_DIR=/var/log/jellyfin | |
volumes: | |
- ./data/jellyfin/config:/etc/jellyfin | |
- ./data/jellyfin/cache:/var/cache/jellyfin | |
- ./data/jellyfin/lib:/var/lib/jellyfin | |
- ./data/jellyfin/log:/var/log/jellyfin | |
- /mnt/media:/media | |
- /mnt/secondary:/secondary | |
devices: | |
- /dev/dri/renderD128:/dev/dri/renderD128 | |
- /dev/dri/card0:/dev/dri/card0 | |
labels: | |
- "traefik.http.routers.jellyfin.rule=Host(\"jellyfin.domain.com\")" | |
- "traefik.http.routers.jellyfin.tls=true" | |
- "traefik.http.routers.jellyfin.tls.certresolver=primary" | |
- "traefik.http.routers.jellyfin.tls.domains[0].main=jellyfin.domain.com" | |
- "traefik.http.routers.jellyfin.service=jellyfin-svc" | |
- "traefik.http.services.jellyfin-svc.loadBalancer.server.port=8096" | |
- "traefik.http.services.jellyfin-svc.loadBalancer.passHostHeader=true" | |
prometheus: | |
image: prom/prometheus:v2.33.1 | |
container_name: prometheus | |
restart: unless-stopped | |
user: root | |
volumes: | |
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml | |
- ./data/prometheus:/prometheus | |
command: | |
- '--config.file=/etc/prometheus/prometheus.yml' | |
- '--storage.tsdb.path=/prometheus' | |
- '--storage.tsdb.retention.time=150d' | |
- '--web.console.libraries=/etc/prometheus/console_libraries' | |
- '--web.console.templates=/etc/prometheus/consoles' | |
- '--web.enable-lifecycle' | |
grafana: | |
image: grafana/grafana-oss:8.3.4 | |
container_name: graphana | |
restart: unless-stopped | |
volumes: | |
- ./data/grafana/lib:/var/lib/grafana | |
labels: | |
- "traefik.http.routers.grafana.rule=Host(\"grafana.domain.com\")" | |
- "traefik.http.routers.grafana.tls=true" | |
- "traefik.http.routers.grafana.tls.certresolver=primary" | |
- "traefik.http.routers.grafana.tls.domains[0].main=grafana.domain.com" | |
jackett: | |
image: linuxserver/jackett:0.21.491 | |
container_name: jackett | |
restart: unless-stopped | |
ports: | |
- 9117:9117 | |
environment: | |
- TZ=Asia/Seoul | |
volumes: | |
- ./jackett:/config | |
- ./data/jackett/downloads:/downlaods | |
radarr: | |
image: linuxserver/radarr:latest | |
container_name: radarr | |
restart: unless-stopped | |
ports: | |
- 7878:7878 | |
environment: | |
- PUID=1000 | |
- PGID=1000 | |
volumes: | |
- ./radarr:/config | |
- ../inprog:/downloads | |
- /mnt/media:/media | |
- /mnt/secondary:/secondary | |
sonarr: | |
image: linuxserver/sonarr:latest | |
container_name: sonarr | |
restart: unless-stopped | |
ports: | |
- 8989:8989 | |
environment: | |
- PUID=1000 | |
- PGID=1000 | |
volumes: | |
- ./sonarr:/config | |
- ../inprog:/downloads | |
- /mnt/media:/media | |
- /mnt/secondary:/secondary | |
bazarr: | |
image: linuxserver/bazarr:latest | |
container_name: bazarr | |
restart: unless-stopped | |
ports: | |
- 6767:6767 | |
environment: | |
- PUID=1000 | |
- PGID=1000 | |
volumes: | |
- ./bazarr:/config | |
- /mnt/media/Movies:/movies | |
- /mnt/media/TV:/tv | |
ombi: | |
image: lscr.io/linuxserver/ombi | |
container_name: ombi | |
restart: unless-stopped | |
environment: | |
- PUID=1000 | |
- PGID=1000 | |
- TZ=Asia/Seoul | |
volumes: | |
- ./ombi:/config | |
ports: | |
- 3579:3579 | |
audiobookshelf: | |
image: ghcr.io/advplyr/audiobookshelf:latest | |
restart: unless-stopped | |
ports: | |
- 13378:80 | |
volumes: | |
- /mnt/media/Audiobooks:/audiobooks | |
- ./audiobookshelf/config:/config | |
- ./audiobookshelf/metadata:/metadata | |
environment: | |
- TZ=Asia/Seoul | |
labels: | |
- "traefik.http.routers.audiobookshelf.rule=Host(\"audiobookshelf.domain.com\")" | |
- "traefik.http.routers.audiobookshelf.tls=true" | |
- "traefik.http.routers.audiobookshelf.tls.certresolver=primary" | |
- "traefik.http.routers.audiobookshelf.tls.domains[0].main=audiobookshelf.domain.com" | |
library: | |
image: lscr.io/linuxserver/kavita:latest | |
container_name: kavita | |
restart: unless-stopped | |
environment: | |
- PUID=1000 | |
- PGID=1000 | |
- TZ=Asia/Seoul | |
volumes: | |
- ./kavita/config:/config | |
- ./kavita/data:/data | |
- /mnt/media/Ebooks:/library/Ebooks | |
ports: | |
- 5000:5000 | |
labels: | |
- "traefik.http.routers.library.rule=Host(\"some.domain.com\")" | |
- "traefik.http.routers.library.tls=true" | |
- "traefik.http.routers.library.tls.certresolver=primary" | |
- "traefik.http.routers.library.tls.domains[0].main=some.domain.com" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
entryPoints: | |
web: | |
address: ":80" | |
http: | |
redirections: | |
entrypoint: | |
to: websecure | |
scheme: https | |
websecure: | |
address: ":443" | |
certificatesResolvers: | |
primary: | |
acme: | |
email: <your email> | |
storage: /etc/traefik/acme.json | |
tlsChallenge: {} | |
# httpChallenge: | |
# entrypoint: web | |
providers: | |
docker: {} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment