Update current server compose files
This commit is contained in:
parent
ae044c6b7a
commit
1eabcaef08
19
servers/docker/.env.example
Normal file
19
servers/docker/.env.example
Normal 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=
|
||||
|
|
@ -5,3 +5,11 @@ Machine de production hébergeant les services du quotidien.
|
|||
## Dépendances
|
||||
|
||||
- Dépend du NAS (Orion) pour les partages NFS.
|
||||
|
||||
## A ajouter
|
||||
|
||||
- filebrowser
|
||||
- jellyfin
|
||||
- mafl
|
||||
- nginx
|
||||
- portainer
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -36,15 +28,3 @@ services:
|
|||
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
|
||||
55
servers/docker/dispatcharr/compose.yaml
Normal file
55
servers/docker/dispatcharr/compose.yaml
Normal 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:
|
||||
|
|
@ -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
|
||||
23
servers/docker/forgejo/compose.yaml
Normal file
23
servers/docker/forgejo/compose.yaml
Normal 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
|
||||
|
|
@ -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
|
||||
16
servers/docker/glances/compose.yaml
Normal file
16
servers/docker/glances/compose.yaml
Normal 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
|
||||
24
servers/docker/heimdall/compose.yaml
Normal file
24
servers/docker/heimdall/compose.yaml
Normal 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
|
||||
|
|
@ -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
|
||||
21
servers/docker/jellyseer/compose.yaml
Normal file
21
servers/docker/jellyseer/compose.yaml
Normal 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
|
||||
18
servers/docker/pkvault/compose.yaml
Normal file
18
servers/docker/pkvault/compose.yaml
Normal 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
|
||||
36
servers/docker/runner/compose.yaml
Normal file
36
servers/docker/runner/compose.yaml
Normal 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
|
||||
|
|
@ -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
|
||||
28
servers/docker/stash/compose.yaml
Normal file
28
servers/docker/stash/compose.yaml
Normal 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
|
||||
19
servers/docker/syncthing/compose.yaml
Normal file
19
servers/docker/syncthing/compose.yaml
Normal 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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
20
servers/docker/wg-easy/compose.yaml
Normal file
20
servers/docker/wg-easy/compose.yaml
Normal 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
|
||||
Loading…
Reference in a new issue