Update current server compose files

This commit is contained in:
TheThomaas 2026-10-19 11:19:36 +02:00
parent ae044c6b7a
commit 1eabcaef08
22 changed files with 394 additions and 323 deletions

View file

@ -0,0 +1,19 @@
PUID=
PGID=
TZ=
APPDATA=
HOST_IP=
WG_HOST=
WG_DNS=
LOCAL_DOMAIN=
GITEA_RUNNER_TOKEN=
GITEA_RUNNER_UID=
GITEA_RUNNER_GID=
MEDIADIR=
DOWNLOADS=
RECYCLEBIN=
SYNCTHINGDATA=
FB_DIR=
TA_USER=
TA_PASS=
TA_ES_PASS=

View file

@ -4,4 +4,12 @@ Machine de production hébergeant les services du quotidien.
## Dépendances
- Dépend du NAS (Orion) pour les partages NFS.
- Dépend du NAS (Orion) pour les partages NFS.
## A ajouter
- filebrowser
- jellyfin
- mafl
- nginx
- portainer

View file

@ -1,12 +1,13 @@
services:
radarr:
image: linuxserver/radarr:6.0.4
image: linuxserver/radarr:latest
container_name: radarr
volumes:
# Config
- $APPDATA/radarr:/config
# Media
- $MEDIADIR/movies:/movies
- $MEDIADIR/animation:/animated
- $DOWNLOADS:/downloads
- $RECYCLEBIN:/recyclebin
environment:
@ -15,18 +16,10 @@ services:
TZ: $TZ
ports:
- 7878:7878
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.radarr.rule=Host(`radarr.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.radarr.entrypoints=https"
# - "traefik.http.routers.radarr.tls=true"
# - "traefik.http.services.radarr.loadbalancer.server.port=7878"
# networks:
# - proxy
restart: unless-stopped
sonarr:
image: linuxserver/sonarr:4.0.16
image: linuxserver/sonarr:latest
container_name: sonarr
volumes:
# Config
@ -41,63 +34,35 @@ services:
TZ: $TZ
ports:
- 8989:8989
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.sonarr.rule=Host(`sonarr.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.sonarr.entrypoints=https"
# - "traefik.http.routers.sonarr.tls=true"
# - "traefik.http.services.sonarr.loadbalancer.server.port=8989"
# networks:
# - proxy
restart: unless-stopped
prowlarr:
image: ghcr.io/linuxserver/prowlarr:develop
container_name: prowlarr
environment:
PUID: $PUID
PGID: $PGID
TZ: $TZ
volumes:
# Config
- $APPDATA/prowlarr:/config
ports:
- 9696:9696
restart: unless-stopped
kapowarr:
image: mrcas/kapowarr:v1.2.0
image: mrcas/kapowarr:latest
container_name: kapowarr
environment:
PUID: $PUID
PGID: $PGID
TZ: $TZ
volumes:
# Config
- $APPDATA/kapowarr:/app/db
# Media
- $MEDIADIR/comics:/comics
- $DOWNLOADS:/app/temp_downloads
environment:
PUID: $PUID
PGID: $PGID
TZ: $TZ
ports:
- 5656:5656
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.kapowarr.rule=Host(`kapowarr.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.kapowarr.entrypoints=https"
# - "traefik.http.routers.kapowarr.tls=true"
# - "traefik.http.services.kapowarr.loadbalancer.server.port=5656"
# networks:
# - proxy
restart: unless-stopped
prowlarr:
image: linuxserver/prowlarr:2.3.0
container_name: prowlarr
volumes:
# Config
- $APPDATA/prowlarr:/config
environment:
PUID: $PUID
PGID: $PGID
TZ: $TZ
ports:
- 9696:9696
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.prowlarr.rule=Host(`prowlarr.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.prowlarr.entrypoints=https"
# - "traefik.http.routers.prowlarr.tls=true"
# - "traefik.http.services.prowlarr.loadbalancer.server.port=9696"
# networks:
# - proxy
restart: unless-stopped
# networks:
# proxy:
# external: true
restart: unless-stopped

View file

@ -1,28 +1,13 @@
services:
audiobookshelf:
restart: unless-stopped
image: ghcr.io/advplyr/audiobookshelf:2.32.1
container_name: audiobookshelf
volumes:
# Config
- $APPDATA/audiobookshelf/config:/config
- $APPDATA/audiobookshelf/metadata:/metadata
# Media
- $MEDIADIR/audiobooks:/audiobooks
- $MEDIADIR/podcasts:/podcasts
environment:
TZ: $TZ
ports:
- 13378:80
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.audiobookshelf.rule=Host(`audiobookshelf.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.audiobookshelf.entrypoints=https"
# - "traefik.http.routers.audiobookshelf.tls=true"
# - "traefik.http.services.audiobookshelf.loadbalancer.server.port=80"
# networks:
# - proxy
restart: unless-stopped
# networks:
# proxy:
# external: true
volumes:
- $MEDIADIR/audiobooks:/audiobooks
- $MEDIADIR/podcasts:/podcasts
- /mnt/appdata/audiobookshelf/config:/config
- /mnt/appdata/audiobookshelf/metadata:/metadata
environment:
- TZ=Europe/Zurich

View file

@ -1,37 +1,27 @@
services:
booklore:
image: booklore/booklore:v1.17.0
image: ghcr.io/grimmory-tools/grimmory:v3.5.0
container_name: booklore
volumes:
# Config
- $APPDATA/booklore/data:/app/data
# Media
- $MEDIADIR/books:/books
- $MEDIADIR/comics:/comics
# - $MEDIADIR/bookdrop:/bookdrop
environment:
USER_ID: $PUID
GROUP_ID: $PGID
TZ: $TZ
DATABASE_URL: $BOOKLORE_DB_URL
DATABASE_USERNAME: $BOOKLORE_DB_USER
DATABASE_PASSWORD: $BOOKLORE_DB_PASSWORD
BOOKLORE_PORT: 6060
ports:
- "6060:6060"
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.booklore.rule=Host(`booklore.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.booklore.entrypoints=https"
# - "traefik.http.routers.booklore.tls=true"
# - "traefik.http.services.booklore.loadbalancer.server.port=6060"
# networks:
# - proxy
- USER_ID=${APP_USER_ID}
- GROUP_ID=${APP_GROUP_ID}
- TZ=${TZ}
- DATABASE_URL=${DATABASE_URL}
- DATABASE_USERNAME=${DB_USER}
- DATABASE_PASSWORD=${DB_PASSWORD}
- BOOKLORE_PORT=${BOOKLORE_PORT}
depends_on:
mariadb:
condition: service_healthy
ports:
- "${BOOKLORE_PORT}:${BOOKLORE_PORT}"
volumes:
- $APPDATA/booklore/data:/app/data
- $APPDATA/booklore/bookdrop:/bookdrop
- $MEDIADIR/books:/books
- $MEDIADIR/comics:/comics
healthcheck:
test: wget -q -O - http://localhost:6060/api/v1/healthcheck
test: wget -q -O - http://localhost:${BOOKLORE_PORT}/api/v1/healthcheck
interval: 60s
retries: 5
start_period: 60s
@ -41,26 +31,19 @@ services:
mariadb:
image: lscr.io/linuxserver/mariadb:11.4.5
container_name: mariadb
volumes:
# Config
- $APPDATA/booklore/mariadb/config:/config
environment:
PUID: $PUID
PGID: $PGID
TZ: $TZ
MYSQL_ROOT_PASSWORD: $BOOKLORE_MYSQL_ROOT_PASSWORD
MYSQL_DATABASE: $BOOKLORE_MYSQL_DATABASE
MYSQL_USER: $BOOKLORE_DB_USER
MYSQL_PASSWORD: $BOOKLORE_DB_PASSWORD
# networks:
# - proxy
- PUID=${DB_USER_ID}
- PGID=${DB_GROUP_ID}
- TZ=${TZ}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- $APPDATA/booklore/mariadb/config:/config
restart: unless-stopped
healthcheck:
test: [ "CMD", "mariadb-admin", "ping", "-h", "localhost" ]
interval: 5s
timeout: 5s
retries: 10
restart: unless-stopped
# networks:
# proxy:
# external: true
retries: 10

View file

@ -1,6 +1,6 @@
services:
deluge:
image: ghcr.io/linuxserver/deluge:2.2.0
image: linuxserver/deluge
container_name: deluge
volumes:
# Config
@ -16,18 +16,10 @@ services:
- 6881:6881
- 6881:6881/udp
- 58846:58846
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.deluge.rule=Host(`deluge.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.deluge.entrypoints=https"
# - "traefik.http.routers.deluge.tls=true"
# - "traefik.http.services.deluge.loadbalancer.server.port=8112"
# networks:
# - proxy
restart: unless-stopped
storm:
image: ghcr.io/relvacode/storm:v1.3.0
image: ghcr.io/relvacode/storm
container_name: storm
environment:
DELUGE_RPC_VERSION: v2
@ -35,16 +27,4 @@ services:
DELUGE_RPC_USERNAME: $DELUGE_USER
DELUGE_RPC_PASSWORD: $DELUGE_PASS
ports:
- 8221:8221
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.storm.rule=Host(`storm.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.storm.entrypoints=https"
# - "traefik.http.routers.storm.tls=true"
# - "traefik.http.services.storm.loadbalancer.server.port=8221"
# networks:
# - proxy
# networks:
# proxy:
# external: true
- 8221:8221

View file

@ -0,0 +1,55 @@
services:
dispatcharr:
# build:
# context: .
# dockerfile: Dockerfile
image: ghcr.io/dispatcharr/dispatcharr:latest
container_name: dispatcharr
restart: unless-stopped
ports:
- 9191:9191
volumes:
- dispatcharr_data:/data
environment:
- DISPATCHARR_ENV=aio
- REDIS_HOST=localhost
- CELERY_BROKER_URL=redis://localhost:6379/0
- DISPATCHARR_LOG_LEVEL=info
# Process Priority Configuration (Optional)
# Lower values = higher priority. Range: -20 (highest) to 19 (lowest)
# Negative values require cap_add: SYS_NICE (uncomment below)
#- UWSGI_NICE_LEVEL=-5 # uWSGI/FFmpeg/Streaming (default: 0, recommended: -5 for high priority)
#- CELERY_NICE_LEVEL=5 # Celery/EPG/Background tasks (default: 5, low priority)
#
# Uncomment to enable high priority for streaming (required if UWSGI_NICE_LEVEL < 0)
#cap_add:
# - SYS_NICE
# Optional for hardware acceleration
#devices:
# - /dev/dri:/dev/dri # For Intel/AMD GPU acceleration (VA-API)
# Uncomment the following lines for NVIDIA GPU support
# NVidia GPU support (requires NVIDIA Container Toolkit)
#deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: all
# capabilities: [gpu]
epg:
image: ghcr.io/davidclaeysquinones/epg-info:latest
volumes:
# add a mapping in order to add the channels file
- /mnt/appdata/epg:/config
ports:
- 6080:3000
environment:
# specify the time zone for the server
- TZ="Europe/Zurich"
# uncomment the underlying line if you want to enable custom fixes
#- ENABLE_FIXES=true
restart: unless-stopped
volumes:
dispatcharr_data:

View file

@ -1,50 +1,30 @@
services:
drop:
image: ghcr.io/drop-oss/drop:v0.3.5
container_name: drop
volumes:
# Config
- $APPDATA/drop/data:/data
# Media
- $MEDIADIR/games/pc:/library
environment:
DATABASE_URL: postgres://${DROP_DB_USER}:${DROP_DB_PASSWORD}@postgres:5432/${DROP_DB}
EXTERNAL_URL: http://${HOST_IP}:3001 # default, customise if accessing from another computer or behind a reverse proxy
ports:
- 3001:3000
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.drop.rule=Host(`drop.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.drop.entrypoints=https"
# - "traefik.http.routers.drop.tls=true"
# - "traefik.http.services.drop.loadbalancer.server.port=3000"
# networks:
# - proxy
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
postgres:
image: postgres:14-alpine
container_name: postgres
volumes:
# Config
- $APPDATA/drop/db:/var/lib/postgresql/data
environment:
POSTGRES_DB: $DROP_DB
POSTGRES_USER: $DROP_DB_USER
POSTGRES_PASSWORD: $DROP_DB_PASSWORD
# networks:
# - proxy
restart: unless-stopped
healthcheck:
test: pg_isready -d ${DROP_DB} -U ${DROP_DB_USER}
test: pg_isready -d drop -U drop
interval: 30s
timeout: 60s
retries: 5
start_period: 10s
volumes:
- $APPDATA/drop/db:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=drop
- POSTGRES_USER=drop
- POSTGRES_DB=drop
drop:
image: ghcr.io/drop-oss/drop:latest
restart: unless-stopped
# networks:
# proxy:
# external: true
depends_on:
postgres:
condition: service_healthy
ports:
- 3001:3000
volumes:
- $MEDIADIR/games/pc:/library
- $APPDATA/drop/data:/data
environment:
- DATABASE_URL=postgres://drop:drop@postgres:5432/drop
- EXTERNAL_URL=http://192.168.1.106:3001 # default, customise if accessing from another computer or behind a reverse proxy

View file

@ -0,0 +1,23 @@
networks:
forgejo:
external: false
services:
forgejo:
image: codeberg.org/forgejo/forgejo:7.0.3
container_name: forgejo
volumes:
# Config
- $APPDATA/forgejo:/data
# Other
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
USER_UID: $PUID
USER_GID: $PGID
ports:
- 8084:3000
- 2221:22
networks:
- forgejo
restart: unless-stopped

View file

@ -1,6 +1,6 @@
services:
freshrss:
image: linuxserver/freshrss:1.28.1
image: lscr.io/linuxserver/freshrss:latest
container_name: freshrss
volumes:
# Config
@ -11,16 +11,4 @@ services:
TZ: $TZ
ports:
- 8083:80
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.freshrss.rule=Host(`freshrss.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.freshrss.entrypoints=https"
# - "traefik.http.routers.freshrss.tls=true"
# - "traefik.http.services.freshrss.loadbalancer.server.port=80"
# networks:
# - proxy
restart: unless-stopped
# networks:
# proxy:
# external: true
restart: unless-stopped

View file

@ -0,0 +1,16 @@
services:
glances:
image: docker.io/nicolargo/glances
container_name: glances
volumes:
# Config
- $APPDATA/glances:/glances/conf
# Other
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
TZ: $TZ
GLANCES_OPT: '-w'
ports:
- 61208-61209:61208-61209
pid: host
restart: unless-stopped

View file

@ -0,0 +1,24 @@
services:
heimdall:
image: lscr.io/linuxserver/heimdall:latest
container_name: heimdall
volumes:
# Config
- $APPDATA/heimdall:/config
environment:
PUID: $PUID
PGID: $PGID
TZ: $TZ
ports:
- 81:80
# networks:
# - proxy
# labels:
# - swag=enable
# - swag_url=heimdall.${LOCAL_DOMAIN}
# - swag_port=80
restart: unless-stopped
# networks:
# proxy:
# external: true

View file

@ -1,35 +0,0 @@
services:
jellyfin:
image: ghcr.io/linuxserver/jellyfin:10.11.6
container_name: jellyfin
volumes:
# Config
- $APPDATA/jellyfin:/config
# Media
- $MEDIADIR/tv:/tv
- $MEDIADIR/movies:/movies
- $MEDIADIR/music:/music
- $MEDIADIR/audiobooks:/audiobooks
- $MEDIADIR/emissions:/emissions
- $MEDIADIR/books:/books
- $MEDIADIR/comics:/comics
- $MEDIADIR/youtube:/youtube
environment:
PUID: $PUID
PGID: $PGID
TZ: $TZ
ports:
- 8096:8096
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.jellyfin.rule=Host(`jellyfin.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.jellyfin.entrypoints=https"
# - "traefik.http.routers.jellyfin.tls=true"
# - "traefik.http.services.jellyfin.loadbalancer.server.port=8096"
# networks:
# - proxy
restart: unless-stopped
# networks:
# proxy:
# external: true

View file

@ -0,0 +1,21 @@
services:
jellyseerr:
image: ghcr.io/seerr-team/seerr:v3.0.1
container_name: jellyseerr
environment:
LOG_LEVEL: debug
TZ: $TZ
PORT: 5055
PUID: $PUID
PGID: $PGID
ports:
- 5055:5055
volumes:
- $APPDATA/jellyseer:/app/config
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
start_period: 20s
timeout: 3s
interval: 15s
retries: 3
restart: unless-stopped

View file

@ -0,0 +1,18 @@
services:
pkvault:
image: ghcr.io/chnapy/pkvault:2.4.5 # or specific version, like 1.5.1
restart: unless-stopped
ports:
- "3005:3000"
environment:
- LOG_FILE_COUNT_LIMIT=10 # removes extra log files, default: 10
- BACKUP_FILE_COUNT_LIMIT=30 # removes extra backup files, default: no limit
volumes:
- $APPDATA/pkvault/data:/pkvault
# save paths sample
- $APPDATA/pkvault/saves:/data/saves
- $APPDATA/pkvault/other/saves:/data/other-saves
# external-pkms path sample (optional)
- $APPDATA/pkvault/external-pkms:/data/external-pkms

View file

@ -0,0 +1,36 @@
services:
docker-in-docker:
image: docker:dind
container_name: 'docker_dind'
privileged: true
command: ['dockerd', '-H', 'tcp://0.0.0.0:2375', '--tls=false']
restart: unless-stopped
runner:
image: code.forgejo.org/forgejo/runner:3.5.0
container_name: runner
volumes:
# Config
- $APPDATA/runner/data:/data
# Other
- /var/run/docker.sock:/var/run/docker.sock
environment:
DOCKER_HOST: tcp://docker-in-docker:2375
# CONFIG_FILE: /config.yaml
# GITEA_INSTANCE_URL: 'https://git.${DOMAIN}'
# GITEA_RUNNER_REGISTRATION_TOKEN: $GITEA_RUNNER_TOKEN
# GITEA_RUNNER_UID: $GITEA_RUNNER_UID
# GITEA_RUNNER_GID: $GITEA_RUNNER_GID
# GITEA_RUNNER_NAME: gitea-runner-1
# GITEA_RUNNER_LABELS: "ubuntu-latest,ubuntu-22.04,ubuntu-20.04,ubuntu-18.04"
ports:
- 42263:42263
links:
- docker-in-docker
depends_on:
docker-in-docker:
condition: service_started
user: 1001:1001
# command: forgejo-runner daemon
command: '/bin/sh -c "while : ; do sleep 1 ; done ;"'
restart: unless-stopped

View file

@ -1,35 +0,0 @@
services:
seer:
image: ghcr.io/seerr-team/seerr:v3.0.1
# init: true
container_name: seer
volumes:
# Config
- $APPDATA/seer:/app/config
environment:
PUID: $PUID
PGID: $PGID
TZ: $TZ
LOG_LEVEL: debug
PORT: 5055
ports:
- 5055:5055
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
start_period: 20s
timeout: 3s
interval: 15s
retries: 3
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.seer.rule=Host(`seer.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.seer.entrypoints=https"
# - "traefik.http.routers.seer.tls=true"
# - "traefik.http.services.seer.loadbalancer.server.port=5055"
# networks:
# - proxy
restart: unless-stopped
# networks:
# proxy:
# external: true

View file

@ -0,0 +1,28 @@
services:
stash:
image: stashapp/stash:v0.31.0
container_name: stash
restart: unless-stopped
ports:
- "9999:9999"
logging:
driver: "json-file"
options:
max-file: "10"
max-size: "2m"
environment:
- STASH_STASH=/data/
- STASH_GENERATED=/generated/
- STASH_METADATA=/metadata/
- STASH_CACHE=/cache/
- STASH_PORT=9999
volumes:
- /etc/localtime:/etc/localtime:ro
- ${APPDATA}/stash/config:/root/.stash
- ${APPDATA}/stash/metadata:/metadata
- ${APPDATA}/stash/cache:/cache
- ${APPDATA}/stash/blobs:/blobs
- ${APPDATA}/stash/generated:/generated
# - ${APPDATA}/stash:/data
- ${MEDIADIR}/stash/stash:/data/stash
- ${MEDIADIR}/stash/stash-hentai:/data/stash-hentai

View file

@ -0,0 +1,19 @@
services:
syncthing:
image: ghcr.io/linuxserver/syncthing
container_name: syncthing
volumes:
# Config
- $APPDATA/syncthing:/config
# Sync data
# - $SYNCTHINGDATA:/data
- $MEDIADIR/movies:/movies
environment:
PUID: $PUID
PGID: $PGID
TZ: $TZ
ports:
- 8384:8384
- 22000:22000
- 21027:21027/udp
restart: unless-stopped

View file

@ -1,11 +1,13 @@
# TODO
services:
tubearchivist:
image: bbilly1/tubearchivist:v0.5.9
container_name: tubearchivist
restart: unless-stopped
image: bbilly1/tubearchivist:v0.5.12
ports:
- 8200:8000
volumes:
# Config
- $APPDATA/tubearchivist:/cache
- $APPDATA/tubearchivist-new:/cache
# Media
- $MEDIADIR/youtube:/youtube
environment:
@ -18,16 +20,6 @@ services:
TA_USERNAME: $TA_USER
TA_PASSWORD: $TA_PASS
ELASTIC_PASSWORD: $TA_ES_PASS
ports:
- 8200:8000
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.tubearchivist.rule=Host(`tubearchivist.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.tubearchivist.entrypoints=https"
# - "traefik.http.routers.tubearchivist.tls=true"
# - "traefik.http.services.tubearchivist.loadbalancer.server.port=8000"
# networks:
# - proxy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 2m
@ -37,24 +29,20 @@ services:
depends_on:
- archivist-es
- archivist-redis
restart: unless-stopped
archivist-redis:
image: redis
container_name: archivist-redis
volumes:
- redis:/data
restart: unless-stopped
expose:
- "6379"
volumes:
- redis:/data
depends_on:
- archivist-es
restart: unless-stopped
archivist-es:
image: bbilly1/tubearchivist-es:8.19.0
container_name: archivist-es
volumes:
- es:/usr/share/elasticsearch/data
restart: unless-stopped
environment:
ELASTIC_PASSWORD: $TA_ES_PASS
ES_JAVA_OPTS: -Xms1g -Xmx1g
@ -65,14 +53,11 @@ services:
memlock:
soft: -1
hard: -1
volumes:
- es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme
expose:
- "9200"
restart: unless-stopped
volumes:
redis:
es:
# networks:
# proxy:
# external: true
es:

View file

@ -1,30 +1,18 @@
services:
tunarr:
image: ghcr.io/chrisbenincasa/tunarr:1.1.11
restart: unless-stopped
container_name: tunarr
volumes:
# Config
- $APPDATA/tunarr:/config/tunarr
# Media
- $MEDIADIR/tv:/tv:ro
- $MEDIADIR/movies:/movies:ro
environment:
LOG_LEVEL: ${TUNARR_LOG_LEVEL:-INFO}
TZ: $TZ
ports:
- 8088:8000
environment:
- LOG_LEVEL=${TUNARR_LOG_LEVEL:-INFO}
- TZ=Europe/Zurich
devices:
- /dev/dri:/dev/dri
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.tunarr.rule=Host(`tunarr.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.tunarr.entrypoints=https"
# - "traefik.http.routers.tunarr.tls=true"
# - "traefik.http.services.tunarr.loadbalancer.server.port=8000"
# networks:
# - proxy
restart: unless-stopped
# networks:
# proxy:
# external: true
volumes:
# The host path is relative to the location of the compose file
# This can also use an absolute path.
- /mnt/appdata/tunarr:/config/tunarr
- $MEDIADIR/tv:/tv:ro
- $MEDIADIR/movies:/movies:ro

View file

@ -0,0 +1,20 @@
services:
wg-easy:
image: weejewel/wg-easy
container_name: wg-easy
volumes:
# Config
- $APPDATA/wg-easy:/etc/wireguard
environment:
WG_HOST: $WG_HOST
WG_DEFAULT_DNS: $WG_DNS
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped