1
0

Compare commits

..

1 Commits

Author SHA1 Message Date
00d79f925f jellyfin: add 2023-12-01 20:42:30 +01:00
38 changed files with 234 additions and 725 deletions

15
.env
View File

@ -1,11 +1,8 @@
REGISTRY_URL=registry.kucharczyk.xyz REGISTRY_URL=registry.kucharczyk.xyz
DOMAIN=kucharczyk.xyz DOMAIN=kucharczyk.xyz
TS_DOMAIN=jacob-shark.ts.net
TS_DOMAIN_NAS=nas.${TS_DOMAIN}
TZ=Europe/Prague TZ=Europe/Prague
STORAGE_PATH=/srv/mergerfs/storage STORAGE_PATH=/srv/mergerfs/storage
MEDIA_PATH=${STORAGE_PATH}/media MEDIA_PATH=${STORAGE_PATH}/media
COMIC_PATH=${MEDIA_PATH}/comics
ANIME_PATH=${STORAGE_PATH}/media/anime ANIME_PATH=${STORAGE_PATH}/media/anime
TV_PATH=${STORAGE_PATH}/media/tv TV_PATH=${STORAGE_PATH}/media/tv
MOVIE_PATH=${STORAGE_PATH}/media/movies MOVIE_PATH=${STORAGE_PATH}/media/movies
@ -14,7 +11,6 @@ DOWNLOADS_PATH=${STORAGE_PATH}/download
NZB_DOWNLOADS_PATH=${DOWNLOADS_PATH}/sabnzbd NZB_DOWNLOADS_PATH=${DOWNLOADS_PATH}/sabnzbd
TORRENTS_SEED_PATH=${STORAGE_PATH}/seed TORRENTS_SEED_PATH=${STORAGE_PATH}/seed
DOCKER_STORAGE_PATH=/docker DOCKER_STORAGE_PATH=/docker
DOCKER_STORAGE_PATH_SLOW=${STORAGE_PATH}/docker-storage
PHOTOS_STORAGE_PATH=/srv/dev-disk-by-uuid-2d34f1a9-4284-4cad-ae9a-f1ef36244201/photos PHOTOS_STORAGE_PATH=/srv/dev-disk-by-uuid-2d34f1a9-4284-4cad-ae9a-f1ef36244201/photos
EMAIL_ADMIN=lukas@kucharczyk.xyz EMAIL_ADMIN=lukas@kucharczyk.xyz
EMAIL_FROM=kucharczyk.lukas@gmail.com EMAIL_FROM=kucharczyk.lukas@gmail.com
@ -46,10 +42,14 @@ AUDIOBOOKSHELF_INTERNAL_PORT=80
AUDIOBOOKSHELF_EXTERNAL_PORT=13378 AUDIOBOOKSHELF_EXTERNAL_PORT=13378
TIMETRACKER_EXTERNAL_PORT=8003 TIMETRACKER_EXTERNAL_PORT=8003
TIMETRACKER_INTERNAL_PORT=8000 TIMETRACKER_INTERNAL_PORT=8000
MEALIE_EXTERNAL_PORT=9925
MEALIE_INTERNAL_PORT=80
TRILIUM_EXTERNAL_PORT=8080 TRILIUM_EXTERNAL_PORT=8080
TRILIUM_INTERNAL_PORT=8080 TRILIUM_INTERNAL_PORT=8080
NETBOOTXYZ_INTERNAL_PORT=3001 NETBOOTXYZ_INTERNAL_PORT=3001
GITEA_INTERNAL_PORT=3002 GITEA_INTERNAL_PORT=3002
UPTIME_KUMA_EXTERNAL_PORT=3004
UPTIME_KUMA_INTERNAL_PORT=3001
LOGSEQ_INTERNAL_PORT=80 LOGSEQ_INTERNAL_PORT=80
LOGSEQ_EXTERNAL_PORT=3005 LOGSEQ_EXTERNAL_PORT=3005
DENDRON_NOTES_EXTERNAL_PORT=2020 DENDRON_NOTES_EXTERNAL_PORT=2020
@ -107,10 +107,3 @@ VAULTWARDEN_EXTERNAL_PORT=8666
VAULTWARDEN_INTERNAL_PORT=80 VAULTWARDEN_INTERNAL_PORT=80
BAZARR_EXTERNAL_PORT=6767 BAZARR_EXTERNAL_PORT=6767
BAZARR_INTERNAL_PORT=6767 BAZARR_INTERNAL_PORT=6767
GLUETUN_JAPAN_INTERNAL_PORT=8888
GLUETUN_JAPAN_EXTERNAL_PORT=8888
HANDBRAKER_SERVER_INTERNAL_PORT=9999
HANDBRAKER_SERVER_EXTERNAL_PORT=9997
REDLIB_EXTERNAL_PORT=8088
SABNZBD_EXTERNAL_PORT=8081
SABNZBD_INTERNAL_PORT=8080

2
.gitattributes vendored
View File

@ -1,2 +0,0 @@
secrets/** filter=git-crypt diff=git-crypt
.gitattributes !filter !diff

1
.gitignore vendored
View File

@ -1 +0,0 @@
git-crypt-key

View File

@ -1,65 +1,47 @@
--- ---
configs: version: '3.3'
caddyfile:
content: |
notes-old.kucharczyk.xyz {
handle {
root * /srv/notes
file_server
}
}
include: include:
- services/bazarr.yml - services/bazarr.yml
- services/jellyfin.yml
- services/komga.yml
- services/radarr.yml
- services/miniflux.yml
- services/jelu.yml
- services/sonarr.yml
- services/postgres.yml
- services/nextcloud.yml
- services/sabnzbd.yml
- services/openldap.yml
- services/prowlarr.yml
- services/netbootxyz.yml
- services/registry.yml
- services/portainer.yml
- services/drone/drone.yml
- services/enshrouded.yml
- services/7dtdserver.yml
- services/gluetun.yml
- services/handbrake-server.yml
- services/redlib.yml
- services/calibre-web.yml
- services/kavita.yml
services: services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptimekuma
volumes:
- "${DOCKER_STORAGE_PATH}/uptimekuma:/app/data"
- "/var/run/docker.sock:/var/run/docker.sock"
ports:
- "${UPTIME_KUMA_EXTERNAL_PORT}:${UPTIME_KUMA_INTERNAL_PORT}"
networks:
- public
profiles:
- infra
- base
restart: unless-stopped
caddy: caddy:
image: lucaslorentz/caddy-docker-proxy:ci-alpine image: caddy
container_name: caddy container_name: caddy
ports: ports:
- "${TIMETRACKER_EXTERNAL_PORT}:${TIMETRACKER_INTERNAL_PORT}" - "${TIMETRACKER_EXTERNAL_PORT}:${TIMETRACKER_INTERNAL_PORT}"
- "${DENDRON_NOTES_EXTERNAL_PORT}:${DENDRON_NOTES_INTERNAL_PORT}" - "${DENDRON_NOTES_EXTERNAL_PORT}:${DENDRON_NOTES_INTERNAL_PORT}"
- 80:80 - 80:80
- 443:443 - 443:443
environment: user: ${PUID}
- CADDY_INGRESS_NETWORKS=docker-compose-templates_public
- CADDY_DOCKER_CADDYFILE_PATH=/Caddyfile
configs:
- source: caddyfile
target: /Caddyfile
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/caddy/etc:/etc/caddy" - "${DOCKER_STORAGE_PATH}/caddy/etc:/etc/caddy"
- "${DOCKER_STORAGE_PATH}/caddy/data:/data" - "${DOCKER_STORAGE_PATH}/caddy/data:/data"
- "${DOCKER_STORAGE_PATH}/caddy/config:/config" - "${DOCKER_STORAGE_PATH}/caddy/config:/config"
- "/var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock"
- "/www/notes:/srv/notes" - "/www/notes:/srv/notes"
- "timetracker-static:/srv/timetracker" - "timetracker-static:/srv/timetracker"
- /var/run/docker.sock:/var/run/docker.sock
networks: networks:
public: - public
ipv4_address: 192.168.240.2 - caddy
profiles:
- infra
- base
restart: unless-stopped restart: unless-stopped
# cap_drop: # cap_drop:
# - ALL # - ALL
@ -80,37 +62,26 @@ services:
depends_on: depends_on:
- caddy - caddy
networks: networks:
public: - caddy
ipv4_address: 192.168.240.3 - public
labels: profiles:
caddy: tracker.${DOMAIN} - base
caddy.reverse_proxy: "{{ upstreams 8001 }}"
caddy.handle_path: "/static/*"
caddy.handle_path.root: "* /srv/timetracker"
caddy.handle_path.file_server:
caddy.handle: /robots.txt
caddy.handle.root: "* /srv/timetracker"
caddy.handle.file_server:
restart: unless-stopped restart: unless-stopped
trilium: trilium:
image: triliumnext/notes:v0.95.0 image: zadam/trilium
container_name: trilium container_name: trilium
restart: always restart: always
environment: environment:
- TRILIUM_DATA_DIR=/home/node/trilium-data - TRILIUM_DATA_DIR=/home/node/trilium-data
volumes: volumes:
- ${DOCKER_STORAGE_PATH}/trilium:/home/node/trilium-data - ${DOCKER_STORAGE_PATH}/trilium:/home/node/trilium-data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
labels:
caddy: trilium.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams $TRILIUM_INTERNAL_PORT }}"
ports: ports:
- "${TRILIUM_EXTERNAL_PORT}:${TRILIUM_INTERNAL_PORT}" - "${TRILIUM_EXTERNAL_PORT}:${TRILIUM_INTERNAL_PORT}"
networks: networks:
public: - public
ipv4_address: 192.168.240.4 profiles:
- base
ntfy: ntfy:
image: binwiederhier/ntfy image: binwiederhier/ntfy
@ -126,19 +97,14 @@ services:
ports: ports:
- "${NTFY_EXTERNAL_PORT}:${NTFY_INTERNAL_PORT}" - "${NTFY_EXTERNAL_PORT}:${NTFY_INTERNAL_PORT}"
networks: networks:
public: - public
ipv4_address: 192.168.240.5 profiles:
labels: - base
caddy: "notify.${DOMAIN}, http://notify.${DOMAIN}" - infra
caddy.reverse_proxy: "{{ upstreams $NTFY_INTERNAL_PORT }}"
caddy.@httpget.protocol: http
caddy.@httpget.method: get
caddy.@httpget.path_regexp: "^/([-_a-z0-9]{0,64}$|docs/|static/)"
caddy.redir: "@httpget https://{host}{uri}"
restart: unless-stopped restart: unless-stopped
audiobookshelf: audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:2.20.0 image: ghcr.io/advplyr/audiobookshelf
container_name: audiobookshelf container_name: audiobookshelf
environment: environment:
- AUDIOBOOKSHELF_UID=${PUID} - AUDIOBOOKSHELF_UID=${PUID}
@ -152,15 +118,17 @@ services:
ports: ports:
- "${AUDIOBOOKSHELF_EXTERNAL_PORT}:${AUDIOBOOKSHELF_INTERNAL_PORT}" - "${AUDIOBOOKSHELF_EXTERNAL_PORT}:${AUDIOBOOKSHELF_INTERNAL_PORT}"
networks: networks:
public: - public
ipv4_address: 192.168.240.6 profiles:
- disabled
restart: unless-stopped restart: unless-stopped
beets: beets:
image: lscr.io/linuxserver/beets:2.2.0 image: ${REGISTRY_URL}/beets:latest
container_name: beets container_name: beets
user: 1000:100
environment: environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ} - TZ=${TZ}
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/beets:/config" - "${DOCKER_STORAGE_PATH}/beets:/config"
@ -169,13 +137,14 @@ services:
ports: ports:
- 8337:8337 - 8337:8337
networks: networks:
public: - public
ipv4_address: 192.168.240.7 profiles:
- base
restart: unless-stopped restart: unless-stopped
mealie: mealie:
container_name: mealie container_name: mealie
image: hkotel/mealie:v1.9.0 image: hkotel/mealie:latest
environment: environment:
PUID: ${PUID} PUID: ${PUID}
PGID: ${PGID} PGID: ${PGID}
@ -184,12 +153,10 @@ services:
- mealie.env - mealie.env
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/mealie/data/:/app/data" - "${DOCKER_STORAGE_PATH}/mealie/data/:/app/data"
ports:
- ${MEALIE_EXTERNAL_PORT}:${MEALIE_INTERNAL_PORT}
networks: networks:
public: - public
ipv4_address: 192.168.240.8
labels:
caddy: recipes.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 9000 }}"
restart: unless-stopped restart: unless-stopped
rtorrent: rtorrent:
@ -211,11 +178,9 @@ services:
- "8118:8118" - "8118:8118"
- "6881:6881" - "6881:6881"
networks: networks:
public: - public
ipv4_address: 192.168.240.9 profiles:
labels: - base
caddy: torrent.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 9080 }}"
restart: unless-stopped restart: unless-stopped
webhook: webhook:
@ -231,8 +196,10 @@ services:
ports: ports:
- "${WEBHOOK_EXTERNAL_PORT}:${WEBHOOK_INTERNAL_PORT}" - "${WEBHOOK_EXTERNAL_PORT}:${WEBHOOK_INTERNAL_PORT}"
networks: networks:
public: - public
ipv4_address: 192.168.240.10 profiles:
- base
- infra
restart: unless-stopped restart: unless-stopped
valheim: valheim:
@ -248,12 +215,28 @@ services:
cap_add: cap_add:
- SYS_NICE - SYS_NICE
networks: networks:
public: - public
ipv4_address: 192.168.240.11 profiles:
- disabled
restart: unless-stopped
7daystodie:
image: 7daysserver:latest
container_name: 7dtd
volumes:
- ${DOCKER_STORAGE_PATH}/7daystodie/saves:/home/steam/.local/share/7DaysToDie/Saves
- ${DOCKER_STORAGE_PATH}/7daystodie/server:/home/steam/server
ports:
- 26900-26902:26900-26902/udp
- 18500:8080
networks:
- public
profiles:
- disabled
restart: unless-stopped restart: unless-stopped
stash: stash:
image: stashapp/stash:v0.28.1 image: stashapp/stash:latest
container_name: stash container_name: stash
ports: ports:
- "${STASH_EXTERNAL_PORT}:${STASH_INTERNAL_PORT}" - "${STASH_EXTERNAL_PORT}:${STASH_INTERNAL_PORT}"
@ -288,12 +271,13 @@ services:
## Where to store binary blob data (scene covers, images) ## Where to store binary blob data (scene covers, images)
- "${DOCKER_STORAGE_PATH}/stash/blobs:/blobs" - "${DOCKER_STORAGE_PATH}/stash/blobs:/blobs"
networks: networks:
public: - public
ipv4_address: 192.168.240.13 profiles:
- base
restart: unless-stopped restart: unless-stopped
navidrome: navidrome:
image: deluan/navidrome:0.57.0 image: deluan/navidrome
container_name: navidrome container_name: navidrome
ports: ports:
- "${NAVIDROME_EXTERNAL_PORT}:${NAVIDROME_INTERNAL_PORT}" - "${NAVIDROME_EXTERNAL_PORT}:${NAVIDROME_INTERNAL_PORT}"
@ -304,11 +288,9 @@ services:
- "${DOCKER_STORAGE_PATH}/navidrome:/data" - "${DOCKER_STORAGE_PATH}/navidrome:/data"
- "${STORAGE_PATH}/media/music2:/music" - "${STORAGE_PATH}/media/music2:/music"
networks: networks:
public: - public
ipv4_address: 192.168.240.14 profiles:
labels: - base
caddy: music.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams $NAVIDROME_INTERNAL_PORT }}"
restart: unless-stopped restart: unless-stopped
maloja: maloja:
@ -322,23 +304,23 @@ services:
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/maloja:/data" - "${DOCKER_STORAGE_PATH}/maloja:/data"
networks: networks:
public: - public
ipv4_address: 192.168.240.15 profiles:
- base
restart: unless-stopped restart: unless-stopped
redis: redis:
container_name: redis container_name: redis
image: docker.io/library/redis:7 image: docker.io/library/redis:7
networks: networks:
public: - redis
ipv4_address: 192.168.240.30
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/redis:/data" - "${DOCKER_STORAGE_PATH}/redis:/data"
paperless-ngx: paperless-ngx:
container_name: paperless-ngx container_name: paperless-ngx
image: ghcr.io/paperless-ngx/paperless-ngx:2.0.1 image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
- redis - redis
@ -347,8 +329,12 @@ services:
ports: ports:
- "${PAPERLESS_EXTERNAL_PORT}:${PAPERLESS_INTERNAL_PORT}" - "${PAPERLESS_EXTERNAL_PORT}:${PAPERLESS_INTERNAL_PORT}"
networks: networks:
public: - public
ipv4_address: 192.168.240.16 - redis
- tika
- gotenberg
profiles:
- base
healthcheck: healthcheck:
test: test:
[ [
@ -380,10 +366,11 @@ services:
image: docker.io/gotenberg/gotenberg:7.6 image: docker.io/gotenberg/gotenberg:7.6
restart: unless-stopped restart: unless-stopped
networks: networks:
public: - gotenberg
ipv4_address: 192.168.240.17
# The gotenberg chromium route is used to convert .eml files. We do not # The gotenberg chromium route is used to convert .eml files. We do not
# want to allow external content like tracking pixels or even javascript. # want to allow external content like tracking pixels or even javascript.
profiles:
- base
command: command:
- "gotenberg" - "gotenberg"
- "--chromium-disable-javascript=true" - "--chromium-disable-javascript=true"
@ -392,8 +379,9 @@ services:
tika: tika:
image: ghcr.io/paperless-ngx/tika:latest image: ghcr.io/paperless-ngx/tika:latest
networks: networks:
public: - tika
ipv4_address: 192.168.240.18 profiles:
- base
restart: unless-stopped restart: unless-stopped
homer: homer:
@ -402,8 +390,9 @@ services:
ports: ports:
- "${HOMER_EXTERNAL_PORT}:${HOMER_INTERNAL_PORT}" - "${HOMER_EXTERNAL_PORT}:${HOMER_INTERNAL_PORT}"
networks: networks:
public: - public
ipv4_address: 192.168.240.19 profiles:
- base
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/homer:/www/assets" - "${DOCKER_STORAGE_PATH}/homer:/www/assets"
environment: environment:
@ -412,12 +401,11 @@ services:
restart: unless-stopped restart: unless-stopped
syncthing: syncthing:
image: lscr.io/linuxserver/syncthing:1.28.1 image: lscr.io/linuxserver/syncthing:latest
container_name: syncthing container_name: syncthing
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/syncthing:/config" - "${DOCKER_STORAGE_PATH}/syncthing:/config"
- "${DOCKER_STORAGE_PATH}/syncthing/shares:/shares" - "${STORAGE_PATH}/docker-storage/syncthing:/general"
- "${STORAGE_PATH}:/storage"
ports: ports:
- "${SYNCTHING_EXTERNAL_PORT1}:${SYNCTHING_INTERNAL_PORT1}" - "${SYNCTHING_EXTERNAL_PORT1}:${SYNCTHING_INTERNAL_PORT1}"
- "${SYNCTHING_EXTERNAL_PORT2}:${SYNCTHING_INTERNAL_PORT2}" - "${SYNCTHING_EXTERNAL_PORT2}:${SYNCTHING_INTERNAL_PORT2}"
@ -427,19 +415,16 @@ services:
- "PUID=${PUID}" - "PUID=${PUID}"
- "PGID=${PGID}" - "PGID=${PGID}"
restart: unless-stopped restart: unless-stopped
profiles:
- base
networks: networks:
public: - public
ipv4_address: 192.168.240.20
mediawiki: mediawiki:
container_name: mediawiki container_name: mediawiki
image: mediawiki image: mediawiki
networks: networks:
public: - public
ipv4_address: 192.168.240.21
labels:
caddy: wiki.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams $MEDIAWIKI_INTERNAL_PORT }}"
depends_on: depends_on:
- mariadb - mariadb
ports: ports:
@ -448,19 +433,18 @@ services:
- "${DOCKER_STORAGE_PATH}/mediawiki/images:/var/www/html/images" - "${DOCKER_STORAGE_PATH}/mediawiki/images:/var/www/html/images"
- "${DOCKER_STORAGE_PATH}/mediawiki/extensions:/var/www/html/extensions" - "${DOCKER_STORAGE_PATH}/mediawiki/extensions:/var/www/html/extensions"
- "${DOCKER_STORAGE_PATH}/mediawiki/LocalSettings.php:/var/www/html/LocalSettings.php" - "${DOCKER_STORAGE_PATH}/mediawiki/LocalSettings.php:/var/www/html/LocalSettings.php"
profiles:
- base
restart: unless-stopped restart: unless-stopped
photoprism: photoprism:
container_name: photoprism container_name: photoprism
image: docker.io/photoprism/photoprism image: docker.io/photoprism/photoprism
networks: networks:
public: - mariadb
ipv4_address: 192.168.240.22 - public
ports: ports:
- "${PHOTOPRISM_EXTERNAL_PORT}:${PHOTOPRISM_INTERNAL_PORT}" - "${PHOTOPRISM_EXTERNAL_PORT}:${PHOTOPRISM_INTERNAL_PORT}"
labels:
caddy: photos.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 2342 }}"
depends_on: depends_on:
- mariadb - mariadb
env_file: env_file:
@ -469,32 +453,75 @@ services:
- "${PHOTOS_STORAGE_PATH}/import:/photoprism/import" - "${PHOTOS_STORAGE_PATH}/import:/photoprism/import"
- "${PHOTOS_STORAGE_PATH}/originals:/photoprism/originals" - "${PHOTOS_STORAGE_PATH}/originals:/photoprism/originals"
- "${PHOTOS_STORAGE_PATH}/storage:/photoprism/storage" - "${PHOTOS_STORAGE_PATH}/storage:/photoprism/storage"
profiles:
- base
restart: unless-stopped restart: unless-stopped
mariadb: mariadb:
container_name: mariadb container_name: mariadb
image: linuxserver/mariadb image: linuxserver/mariadb
networks: networks:
public: - mariadb
ipv4_address: 192.168.240.23 - public
ports: ports:
- "${MARIADB_EXTERNAL_PORT}:${MARIADB_INTERNAL_PORT}" - "${MARIADB_EXTERNAL_PORT}:${MARIADB_INTERNAL_PORT}"
environment:
- MARIADB_AUTO_UPGRADE=true
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/mariadb:/config" - "${DOCKER_STORAGE_PATH}/mariadb:/config"
- sockets:/run/mysqld/ - sockets:/run/mysqld/
restart: unless-stopped restart: unless-stopped
profiles:
- infra
- base
sonarr_tv:
container_name: sonarr_tv_standard
image: linuxserver/sonarr:develop
networks:
- public
ports:
- "${SONARR_TV_STANDARD_EXTERNAL_PORT}:${SONARR_INTERNAL_PORT}"
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/sonarr:/config"
- "${TV_PATH}:/tv"
- "${ANIME_PATH}:/anime"
- "${NZB_DOWNLOADS_PATH}:/downloads"
- "${TORRENTS_SEED_PATH}:/seed"
- "${TORRENTS_SEED_PATH}/incomplete:/data/incomplete"
restart: unless-stopped
profiles:
- base
- media
sonarr_anime:
container_name: sonarr_anime
image: linuxserver/sonarr:develop
networks:
- public
ports:
- "${SONARR_ANIME_EXTERNAL_PORT}:${SONARR_INTERNAL_PORT}"
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/sonarr_anime:/config"
- "${ANIME_PATH}:/anime"
- "${NZB_DOWNLOADS_PATH}:/downloads"
- "${TORRENTS_SEED_PATH}:/seed"
- "${TORRENTS_SEED_PATH}/incomplete:/data"
restart: unless-stopped
profiles:
- base
- media
baserow: baserow:
container_name: baserow container_name: baserow
image: baserow/baserow:latest image: baserow/baserow:latest
networks: networks:
public: - public
ipv4_address: 192.168.240.24 - postgres
labels:
caddy: baserow.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 80 }}"
depends_on: depends_on:
- postgres - postgres
env_file: env_file:
@ -502,21 +529,33 @@ services:
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/baserow:/baserow/data" - "${DOCKER_STORAGE_PATH}/baserow:/baserow/data"
restart: unless-stopped restart: unless-stopped
profiles:
- base
postgres:
container_name: postgres
image: postgres:latest
networks:
- postgres
volumes:
- "${DOCKER_STORAGE_PATH}/postgres:/var/lib/postgresql/data"
restart: unless-stopped
profiles:
- base
- infra
gitea: gitea:
container_name: gitea container_name: gitea
image: gitea/gitea:1.24.0 image: ${REGISTRY_URL}/gitea:latest
networks: networks:
public: - public
ipv4_address: 192.168.240.26 - postgres
- gitea
depends_on: depends_on:
- postgres - postgres
ports: ports:
- "${GITEA_WEBUI_EXTERNAL_PORT}:${GITEA_WEBUI_INTERNAL_PORT}" - "${GITEA_WEBUI_EXTERNAL_PORT}:${GITEA_WEBUI_INTERNAL_PORT}"
- "${GITEA_SSH_EXTERNAL_PORT}:${GITEA_SSH_INTERNAL_PORT}" - "${GITEA_SSH_EXTERNAL_PORT}:${GITEA_SSH_INTERNAL_PORT}"
labels:
caddy: git.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams $GITEA_WEBUI_INTERNAL_PORT }}"
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/gitea:/data" - "${DOCKER_STORAGE_PATH}/gitea:/data"
restart: unless-stopped restart: unless-stopped
@ -531,8 +570,7 @@ services:
- "${DOCKER_STORAGE_PATH}/gitearunner/data:/data" - "${DOCKER_STORAGE_PATH}/gitearunner/data:/data"
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
networks: networks:
public: - gitea
ipv4_address: 192.168.240.27
environment: environment:
- GITEA_INSTANCE_URL=https://git.${DOMAIN} - GITEA_INSTANCE_URL=https://git.${DOMAIN}
- CONFIG_FILE=/config/config.yaml - CONFIG_FILE=/config/config.yaml
@ -542,17 +580,18 @@ services:
- GITEA_RUNNER_REGISTRATION_TOKEN=92U7bIiADtqkILwjjj9rffjz8vyNp0zo7uaOgrIG - GITEA_RUNNER_REGISTRATION_TOKEN=92U7bIiADtqkILwjjj9rffjz8vyNp0zo7uaOgrIG
- GITEA_RUNNER_LABELS="ubuntu-latest:docker://catthehacker/ubuntu:act-latest" - GITEA_RUNNER_LABELS="ubuntu-latest:docker://catthehacker/ubuntu:act-latest"
- GITEA_RUNNER_NAME="NAS_CONTAINER" - GITEA_RUNNER_NAME="NAS_CONTAINER"
profiles:
- base
- infrastructure
restart: unless-stopped restart: unless-stopped
linkace: linkace:
image: linkace/linkace:v1.15.4-simple image: linkace/linkace:simple
container_name: linkace container_name: linkace
networks: networks:
public: - public
ipv4_address: 192.168.240.28 - mariadb
labels: - redis
caddy: bookmarks.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 80 }}"
depends_on: depends_on:
- mariadb - mariadb
- redis - redis
@ -571,6 +610,8 @@ services:
- ${DOCKER_STORAGE_PATH}/linkace/backups:/app/storage/app/backups - ${DOCKER_STORAGE_PATH}/linkace/backups:/app/storage/app/backups
- ${DOCKER_STORAGE_PATH}/linkace/logs:/app/storage/logs - ${DOCKER_STORAGE_PATH}/linkace/logs:/app/storage/logs
restart: unless-stopped restart: unless-stopped
profiles:
- base
# ghost: # ghost:
# image: "ghost:latest" # image: "ghost:latest"
@ -588,43 +629,43 @@ services:
# - public # - public
vaultwarden: vaultwarden:
image: vaultwarden/server:1.32.1 image: vaultwarden/server:latest
container_name: vaultwarden container_name: vaultwarden
networks: networks:
public: - public
ipv4_address: 192.168.240.29
ports: ports:
- "${VAULTWARDEN_EXTERNAL_PORT}:${VAULTWARDEN_INTERNAL_PORT}" - "${VAULTWARDEN_EXTERNAL_PORT}:${VAULTWARDEN_INTERNAL_PORT}"
labels:
caddy: bw.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 80 }}"
env_file:
- ./secrets/vaultwarden.env
environment: environment:
- PUSH_ENABLED=true #- PUSH_ENABLED=true
# PUSH_INSTALLATION_ID= #- PUSH_INSTALLATION='287eaff9-7be7-4b52-a31d-b09100dc0f5c'
# PUSH_INSTALLATION_KEY= #- PUSH_INSTALLATION_KEY='n0xrH7YORuvJk8rqvxB5'
- PUSH_RELAY_URI=https://api.bitwarden.eu - ADMIN_TOKEN=$$argon2id$$v=19$$m=65540,t=3,p=4$$aWJ2cVRvYUsySkM3M01TMTJJMnZqbUF0Wm1qRWhvd1B6Sk50Q1hwck96dz0$$FKjZ36E54pX2e0AE9OaDpiH43TyAyfVwr3IvracbqEA
- PUSH_IDENTITY_URI=https://identity.bitwarden.eu
- ADMIN_TOKEN=$$argon2id$$v=19$$m=65540,t=3,p=4$$aWJ2cVRvYUsySkM3M01TMTJJMnZqbUF0Wm1qRWhvd1B6Sk50Q1hwck96dz0$$FKjZ36E54pX2e0AE9OaDpiH43TyAyfVwr3IvracbqEA
- SMTP_HOST=${EMAIL_HOST}
- SMTP_FROM=${EMAIL_FROM}
- SMTP_FROM_NAME="Bitwarden (bw.kucharczyk.xyz)"
- SMTP_PORT=${EMAIL_PORT}
- SMTP_USERNAME=${EMAIL_FROM}
- SMTP_PASSWORD=${EMAIL_PASSWORD}
volumes: volumes:
- ${DOCKER_STORAGE_PATH}/vaultwarden:/data - ${DOCKER_STORAGE_PATH}/vaultwarden:/data
restart: unless-stopped restart: unless-stopped
profiles:
- base
- infra
networks: networks:
caddy:
attachable: true
internal: true
redis:
internal: true
tika:
internal: true
gotenberg:
internal: true
public: public:
attachable: true attachable: true
ipam: postgres:
config: external: true
# 192.168.240.1 - 192.168.240.254 mariadb:
- subnet: "192.168.240.0/24" attachable: true
gitea:
external: false
volumes: volumes:
timetracker-static: timetracker-static:

2
kavita.env Normal file
View File

@ -0,0 +1,2 @@
KAVITA_INTERNAL_PORT=5000
KAVITA_EXTERNAL_PORT=5100

View File

@ -5,12 +5,7 @@ RECIPE_SHOW_ASSETS=true
RECIPE_LANDSCAPE_VIEW=true RECIPE_LANDSCAPE_VIEW=true
RECIPE_DISABLE_COMMENTS=false RECIPE_DISABLE_COMMENTS=false
RECIPE_DISABLE_AMOUNT=false RECIPE_DISABLE_AMOUNT=false
BASE_URL=https://recipes.${DOMAIN}
SMTP_HOST=${EMAIL_HOST}
SMTP_FROM_EMAIL=${EMAIL_FROM}
SMTP_USER=${EMAIL_FROM}
SMTP_PASSWORD=${EMAIL_PASSWORD}
# Gunicorn # Gunicorn
# WEB_CONCURRENCY=2 # WEB_CONCURRENCY=2
# WORKERS_PER_CORE=0.5 # WORKERS_PER_CORE=0.5
# MAX_WORKERS=8 # MAX_WORKERS=8

View File

@ -2,8 +2,7 @@ ND_LASTFM_APIKEY=29e22ee836a0cb51cfaacb72d605e30d
ND_LASTFM_SECRET=10aa58294eeffa142685e78a0cd78ad6 ND_LASTFM_SECRET=10aa58294eeffa142685e78a0cd78ad6
ND_SPOTIFY_ID=9d6a1b14a4134df5b4447fa46c4bf275 ND_SPOTIFY_ID=9d6a1b14a4134df5b4447fa46c4bf275
ND_SPOTIFY_SECRET=27aed3e91dc34d7593d99ad4febea939 ND_SPOTIFY_SECRET=27aed3e91dc34d7593d99ad4febea939
ND_DEVACTIVITYPANEL=true ND_DEVACTIVITYPANEL=false
ND_SEARCHFULLSTRING=true ND_SEARCHFULLSTRING=true
ND_ENABLESHARING=true ND_ENABLESHARING=true
ND_LOGLEVEL=error ND_LOGLEVEL=error
ND_PREFERSORTTAGS=true

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,51 +0,0 @@
---
services:
7dtdserver:
image: vinanrra/7dtd-server
container_name: 7dtdserver
environment:
- PUID=${PUID}
- PGID=${PGID}
- START_MODE=1 # Change between START MODES
- VERSION=stable # Change between 7 days to die versions
- TimeZone=Europe/Prague # Optional - Change Timezone
- TEST_ALERT=NO # Optional - Send a test alert
- UPDATE_MODS=NO # Optional - This will allow mods to be update on start, each mod also need to have XXXX_UPDATE=YES to update on start
- MODS_URLS="" # Optional - Mods urls to install, must be ZIP or RAR.
- ALLOC_FIXES=NO # Optional - Install ALLOC FIXES
- ALLOC_FIXES_UPDATE=NO # Optional - Update Allocs Fixes before server start
- UNDEAD_LEGACY=NO # Optional - Install Undead Legacy mod, if DARKNESS_FALLS it's enable will not install anything
- UNDEAD_LEGACY_VERSION=stable # Optional - Undead Legacy version
- UNDEAD_LEGACY_UPDATE=NO # Optional - Update Undead Legacy mod before server start
- DARKNESS_FALLS=NO # Optional - Install Darkness Falls mod, if UNDEAD_LEGACY it's enable will not install anything
- DARKNESS_FALLS_UPDATE=NO # Optional - Update Darkness Falls mod before server start
- DARKNESS_FALLS_URL=False # Optional - Install the provided Darkness Falls url
- CPM=NO # Optional - CSMM Patron's Mod (CPM)
- CPM_UPDATE=NO # Optional - Update CPM before server start
- BEPINEX=NO # Optional - BepInEx
- BEPINEX_UPDATE=NO # Optional - Update BepInEx before server start
- BACKUP=NO # Optional - Backup server
- BACKUP_HOUR=5 # Optional - Backup hour 0-23
- BACKUP_MAX=7 # Optional - Max backups to keep
- MONITOR=NO # Optional - Keeps server up if crash
volumes:
- "${DOCKER_STORAGE_PATH}/7daystodie/7DaysToDie:/home/sdtdserver/.local/share/7DaysToDie/" # 7 Days To Die world saves
- "${DOCKER_STORAGE_PATH}/7daystodie/LGSM-Config:/home/sdtdserver/lgsm/config-lgsm/sdtdserver" # LGSM config folder
- "${DOCKER_STORAGE_PATH}/7daystodie/ServerFiles:/home/sdtdserver/serverfiles/" # Optional - serverfiles folder
- "${DOCKER_STORAGE_PATH}/7daystodie/log:/home/sdtdserver/log/" # Optional - Logs folder
- "${DOCKER_STORAGE_PATH}/7daystodie/backups:/home/sdtdserver/lgsm/backup/" # Optional - If BACKUP=NO, backups folder
networks:
public:
ipv4_address: 192.168.240.12
ports:
- 26900:26900/tcp # Default game ports
- 26900:26900/udp # Default game ports
- 26901:26901/udp # Default game ports
- 26902:26902/udp # Default game ports
- 8085:8080/tcp # OPTIONAL - WEBADMIN
- 8086:8081/tcp # OPTIONAL - TELNET
- 8087:8082/tcp # OPTIONAL - WEBSERVER https://7dtd.illy.bz/wiki/Server%20fixes
restart: unless-stopped # INFO - NEVER USE WITH START_MODE=4 or START_MODE=0

View File

@ -6,13 +6,11 @@ services:
ports: ports:
- "${BAZARR_EXTERNAL_PORT}:${BAZARR_INTERNAL_PORT}" - "${BAZARR_EXTERNAL_PORT}:${BAZARR_INTERNAL_PORT}"
networks: networks:
public: - public
ipv4_address: 192.168.240.31
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/bazarr:/config" - "${DOCKER_STORAGE_PATH}/bazarr:/config"
- "${MOVIE_PATH}:/movies" - "${MOVIE_PATH}:/movies"
- "${TV_PATH}:/tv" - "${TV_PATH}:/tv"
profiles:
- base
restart: unless-stopped restart: unless-stopped

View File

@ -1,17 +0,0 @@
---
services:
calibre-web:
image: docker.io/linuxserver/calibre-web:0.6.24
container_name: calibre-web
ports:
- 8089:8083
networks:
public:
ipv4_address: 192.168.240.52
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/calibre-web:/config"
- "${DOCKER_STORAGE_PATH}/syncthing/shares/Calibre Library:/books"
restart: unless-stopped

View File

@ -1,2 +0,0 @@
DRONE_SERVER_HOST=drone.${DOMAIN}
DRONE_RPC_HOST=${DRONE_SERVER_HOST}

View File

@ -1,44 +0,0 @@
---
services:
drone:
image: drone/drone:1
container_name: drone
networks:
public:
ipv4_address: 192.168.240.47
labels:
caddy: drone.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 80 }}"
volumes:
- ${DOCKER_STORAGE_PATH}/drone:/data
env_file:
- drone.env
- ../../secrets/drone.env
environment:
# encrypted
# - DRONE_GITEA_CLIENT_ID=
# - DRONE_GITEA_CLIENT_SECRET=
# - DRONE_RPC_SECRET=
- DRONE_GITEA_SERVER=https://git.${DOMAIN}
- DRONE_SERVER_PROTO=https
- DRONE_USER_CREATE=username:lukas,admin:true
restart: unless-stopped
drone-runner:
image: drone/drone-runner-docker:1
container_name: drone-runner
networks:
public:
ipv4_address: 192.168.240.48
volumes:
- /var/run/docker.sock:/var/run/docker.sock
env_file:
- drone.env
- ../../secrets/drone.env
environment:
# encrypted
# - DRONE_RPC_SECRET=
- DRONE_RPC_PROTO=https
- DRONE_RUNNER_CAPACITY=1
- DRONE_RUNNER_NAME=nas-docker-runner
restart: unless-stopped

View File

@ -1,21 +0,0 @@
---
services:
enshrouded:
image: mornedhels/enshrouded-server:latest
container_name: enshrouded
hostname: enshrouded
restart: unless-stopped
stop_grace_period: 90s
env_file:
- ../secrets/enshrouded.env
ports:
- "15636-15637:15636-15637/udp"
volumes:
- "${DOCKER_STORAGE_PATH}/enshrouded:/opt/enshrouded"
environment:
- SERVER_NAME=DominikJirkaLukas
# - SERVER_PASSWORD=
- SERVER_SLOT_COUNT=3
- UPDATE_CRON=*/30 * * * *
- PUID=${PUID}
- PGID=${PGID}

View File

@ -1,35 +0,0 @@
---
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun-japan
# line above must be uncommented to allow external containers to connect.
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun
cap_add:
- NET_ADMIN
networks:
public:
ipv4_address: 192.168.240.49
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 8888:8888/tcp # HTTP proxy
- 8388:8388/tcp # Shadowsocks
- 8388:8388/udp # Shadowsocks
volumes:
- "${DOCKER_STORAGE_PATH}/gluetun:/gluetun"
env_file:
- ../secrets/protonvpn.env
environment:
# See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
- VPN_SERVICE_PROVIDER=protonvpn
- VPN_TYPE=openvpn
# OpenVPN:
# - OPENVPN_USER=
# - OPENVPN_PASSWORD=
- TZ=${TZ}
- SERVER_COUNTRIES=Japan
- HTTPPROXY=on
# Server list updater
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list
- UPDATER_PERIOD=

View File

@ -1,15 +0,0 @@
---
services:
handbrake-server:
image: ghcr.io/thenickoftime/handbrake-web-server:0.7.3
container_name: handbrake-server
user: 1000:100 # edit to run as user (uuid:guid) with permissions to access your media. 0:0 to run as root (not recommended).
networks:
public:
ipv4_address: 192.168.240.50
ports:
- "${HANDBRAKER_SERVER_EXTERNAL_PORT}:${HANDBRAKER_SERVER_INTERNAL_PORT}"
volumes:
- "${DOCKER_STORAGE_PATH}/handbrake-server/data:/data"
- "${STORAGE_PATH}:/video"
restart: unless-stopped

View File

@ -1,23 +1,19 @@
--- ---
services: services:
jellyfin: bazarr:
image: linuxserver/jellyfin:10.10.7 image: linuxserver/jellyfin:latest
container_name: jellyfin container_name: jellyfin
ports: ports:
- "8096:8096" - "8096:8096"
- "1900:1900/udp" - "1900:1900/udp"
- "7359:7359/udp" - "7359:7359/udp"
networks: networks:
public: - public
ipv4_address: 192.168.240.32
labels:
caddy: jellyfin.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 8096 }}"
volumes: volumes:
- "${DOCKER_STORAGE_PATH}/jellyfin:/config" - "${DOCKER_STORAGE_PATH}/jellyfin:/config"
- "${MEDIA_PATH}:/data/media" - "${MEDIA_PATH}:/data/media"
environment: environment:
- "JELLYFIN_PublishedServerUrl=https://jellyfin.${DOMAIN}" - "JELLYFIN_PublishedServerUrl=https://jellyfin.${DOMAIN}"
- PUID=${PUID} profiles:
- PGID=${PGID} - base
restart: unless-stopped restart: unless-stopped

View File

@ -1,29 +0,0 @@
---
services:
jelu:
image: wabayang/jelu
container_name: jelu
volumes:
- ${DOCKER_STORAGE_PATH}/jelu/database:/database
- ${DOCKER_STORAGE_PATH}/jelu/files/images:/files/images
- ${DOCKER_STORAGE_PATH}/jelu/files/imports:/files/imports
- /etc/timezone:/etc/timezone:ro
configs:
- source: jelu_config
target: /config/application.yml
networks:
public:
ipv4_address: 192.168.240.33
env_file:
- ../secrets/jelu.env
environment:
SERVER_PORT: 80
SPRING_DATASOURCE_USERNAME: lukas
SPRING_DATASOURCE_PASSWORD: Q^k5i2^hN!wmEr6JLkYP9ME
JELU_CORS_ALLOWED-ORIGINS: https://jelu.${DOMAIN}
restart: unless-stopped
configs:
jelu_config:
file: ../secrets/jelu-application.yml

View File

@ -1,21 +0,0 @@
---
services:
kavita:
image: ghcr.io/kareadita/kavita:0.8.5
container_name: kavita
networks:
public:
ipv4_address: 192.168.240.53
ports:
- ${KAVITA_EXTERNAL_PORT}:${KAVITA_INTERNAL_PORT}
labels:
caddy: kavita.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams $KAVITA_INTERNAL_PORT }}"
environment:
- DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true
volumes:
- "${STORAGE_PATH}/media/comics:/comics"
- "${STORAGE_PATH}/media/comics/manga:/manga"
- "${STORAGE_PATH}/media/comics/books:/books"
- "${DOCKER_STORAGE_PATH}/kavita:/kavita/config"
restart: unless-stopped

View File

@ -1,18 +0,0 @@
---
services:
komga:
image: gotson/komga:1.20.0
container_name: komga
networks:
public:
ipv4_address: 192.168.240.34
ports:
- "25600:25600"
labels:
caddy: comic.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 25600 }}"
volumes:
- "${DOCKER_STORAGE_PATH}/komga:/config"
- "${COMIC_PATH}:/data"
- "${TORRENTS_SEED_PATH}:/import"
restart: unless-stopped

View File

@ -1,16 +0,0 @@
---
services:
miniflux:
image: miniflux/miniflux:latest
container_name: miniflux
networks:
public:
ipv4_address: 192.168.240.35
labels:
caddy: miniflux.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 8080 }}"
environment:
- BASE_URL=https://miniflux.${DOMAIN}
- DATABASE_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
restart: unless-stopped

View File

@ -1,14 +0,0 @@
---
services:
netbootxyz:
image: linuxserver/netbootxyz:latest
container_name: netbootxyz
networks:
public:
ipv4_address: 192.168.240.44
ports:
- 3000:3000
volumes:
- "${DOCKER_STORAGE_PATH}/netbootxyz:/config"
- "${DOCKER_STORAGE_PATH_SLOW}/netbootxyz:/assets"
restart: unless-stopped

View File

@ -1,24 +0,0 @@
---
services:
nextcloud:
image: registry.kucharczyk.xyz/nextcloud:latest
container_name: nextcloud
networks:
public:
ipv4_address: 192.168.240.40
depends_on:
- postgres
volumes:
- "${DOCKER_STORAGE_PATH}/nextcloud/config:/var/www/html/config"
- "${DOCKER_STORAGE_PATH}/nextcloud/data:/var/www/html/data"
- "${DOCKER_STORAGE_PATH}/nextcloud/html:/var/www/html"
environment:
# caddy
- TRUSTED_PROXIES=192.168.240.2
labels:
caddy: cloud.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 80 }}"
caddy.handle.redir_0: "/.well-known/carddav /remote.php/dav 301"
caddy.handle.redir_1: "/.well-known/caldav /remote.php/dav 301"
caddy.header.Strict-Transport-Security: "max-age=15552000; includeSubDomains"
restart: unless-stopped

View File

@ -1,24 +0,0 @@
---
services:
openldap:
image: osixia/openldap:latest
container_name: openldap
networks:
public:
ipv4_address: 192.168.240.42
ports:
- 389:389
- 636:636
volumes:
- "${DOCKER_STORAGE_PATH}/openldap/config:/etc/ldap/slapd.d"
- "${DOCKER_STORAGE_PATH}/openldap/data:/var/lib/ldap"
environment:
- LDAP_ORGANISATION=Homelab
- LDAP_DOMAIN=${DOMAIN}
- LDAP_ADMIN_PASSWORD=kral
- LDAP_OPENLDAP_UID=${PUID}
- LDAP_OPENLDAP_GID=${PGID}
- LDAP_READONLY_USER=true
- LDAP_READONLY_USER_USERNAME=readonly
- LDAP_READONLY_USER_PASSWORD=readonly
restart: unless-stopped

View File

@ -1,17 +0,0 @@
---
services:
portainer:
image: portainer/portainer-ee:2.19.1
container_name: portainer
ports:
- 9000:9000
networks:
public:
ipv4_address: 192.168.240.46
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
restart: unless-stopped
volumes:
portainer_data:

View File

@ -1,11 +0,0 @@
---
services:
postgres:
container_name: postgres
image: postgres:latest
networks:
public:
ipv4_address: 192.168.240.25
volumes:
- "${DOCKER_STORAGE_PATH}/postgres:/var/lib/postgresql/data"
restart: unless-stopped

View File

@ -1,14 +0,0 @@
---
services:
prowlarr:
# see https://github.com/linuxserver/docker-prowlarr/releases
image: linuxserver/prowlarr:1.27.0.4852-ls94
container_name: prowlarr
networks:
public:
ipv4_address: 192.168.240.43
ports:
- 9696:9696
volumes:
- "${DOCKER_STORAGE_PATH}/prowlarr:/config"
restart: unless-stopped

View File

@ -1,19 +0,0 @@
---
services:
radarr:
image: ${REGISTRY_URL}/radarr:latest
container_name: radarr
ports:
- 7878:7878
networks:
public:
ipv4_address: 192.168.240.36
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/radarr:/config"
- "${NZB_DOWNLOADS_PATH}:/downloads"
- "${TORRENTS_SEED_PATH}:/seed"
- "${MOVIE_PATH}:/movies"
restart: unless-stopped

View File

@ -1,30 +0,0 @@
---
services:
redlib:
image: quay.io/redlib/redlib:latest
restart: unless-stopped
container_name: "redlib"
# exposed via caddy -> doesn't need an external port
user: nobody
read_only: true
security_opt:
- no-new-privileges:true
# - seccomp=seccomp-redlib.json
cap_drop:
- ALL
environment:
- REDLIB_DEFAULT_THEME=dracula;
- REDLIB_DEFAULT_SHOW_NSFW=on;
- REDLIB_DEFAULT_HIDE_AWARDS=on;
- REDLIB_DEFAULT_USE_HLS=on;
- REDLIB_DEFAULT_BLUR_SPOILER=on;
networks:
public:
ipv4_address: 192.168.240.51
labels:
caddy: redlib.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 8080 }}"
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "--tries=1", "http://localhost:8080/settings"]
interval: 5m
timeout: 3s

View File

@ -1,17 +0,0 @@
---
services:
registry:
image: registry:latest
container_name: registry
networks:
public:
ipv4_address: 192.168.240.45
ports:
- 5000:5000
labels:
caddy: registry.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 5000 }}"
volumes:
- "${DOCKER_STORAGE_PATH}/registry/data:/var/lib/registry"
- "${DOCKER_STORAGE_PATH}/registry/config.yml:/etc/docker/registry/config.yml"
restart: unless-stopped

View File

@ -1,21 +0,0 @@
---
services:
sabnzbd:
image: linuxserver/sabnzbd:4.5.1
container_name: sabnzbd
networks:
public:
ipv4_address: 192.168.240.41
environment:
- PUID=1000
- PGID=100
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:sabnzbd
- TP_THEME=dracula
ports:
- "${SABNZBD_EXTERNAL_PORT}:${SABNZBD_INTERNAL_PORT}"
volumes:
- "${DOCKER_STORAGE_PATH}/sabnzbd:/config"
- "${DOWNLOADS_PATH}/sabnzbd:/downloads"
- "${DOWNLOADS_PATH}/sabnzbd-incomplete:/incomplete-downloads"
- "${MEDIA_PATH}:/media"
restart: unless-stopped

View File

@ -1,40 +0,0 @@
---
services:
sonarr_tv:
container_name: sonarr_tv_standard
image: linuxserver/sonarr:develop
networks:
public:
ipv4_address: 192.168.240.38
ports:
- "${SONARR_TV_STANDARD_EXTERNAL_PORT}:${SONARR_INTERNAL_PORT}"
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/sonarr:/config"
- "${TV_PATH}:/tv"
- "${ANIME_PATH}:/anime"
- "${NZB_DOWNLOADS_PATH}:/downloads"
- "${TORRENTS_SEED_PATH}:/seed"
- "${TORRENTS_SEED_PATH}/incomplete:/data/incomplete"
restart: unless-stopped
sonarr_anime:
container_name: sonarr_anime
image: linuxserver/sonarr:develop
networks:
public:
ipv4_address: 192.168.240.37
ports:
- "${SONARR_ANIME_EXTERNAL_PORT}:${SONARR_INTERNAL_PORT}"
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/sonarr_anime:/config"
- "${ANIME_PATH}:/anime"
- "${NZB_DOWNLOADS_PATH}:/downloads"
- "${TORRENTS_SEED_PATH}:/seed"
- "${TORRENTS_SEED_PATH}/incomplete:/data/incomplete"
restart: unless-stopped

View File

@ -1,12 +0,0 @@
---
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptimekuma
volumes:
- "${DOCKER_STORAGE_PATH}/uptimekuma:/app/data"
- "/var/run/docker.sock:/var/run/docker.sock"
networks:
public:
ipv4_address: 192.168.240.39
restart: unless-stopped