Compare commits
109 Commits
c18a81e3b0
...
main
Author | SHA1 | Date | |
---|---|---|---|
947d48c860 | |||
a9990ee8db | |||
180bb14a05 | |||
5e0a6d99e2 | |||
dac13eb9e3 | |||
be215b6bb3 | |||
81f17e11dd | |||
8e10ac15d7 | |||
17a87ed5d7 | |||
290155e5d4 | |||
e448803a8e | |||
892497b322 | |||
7b2c67b87c | |||
201a2395fc | |||
20ef2c2f9f | |||
71e5d85a6a | |||
bec7bb5b66 | |||
c51bac41b0 | |||
387d6e89a5 | |||
5931869c0d | |||
9111afff2f
|
|||
e4830550c2 | |||
1b311df046 | |||
f5fe027ae3 | |||
7b49e6af7d
|
|||
815f0cf55d | |||
dd3ed2f4bc | |||
2fd65fcbdd
|
|||
0cd308329b
|
|||
3df03db596 | |||
e0d357ca05 | |||
b0882532a7 | |||
f913a10ee1
|
|||
5c8d6f9140 | |||
a69ba8c7d7 | |||
46e7bcb874 | |||
9e385acc44 | |||
2162970f37 | |||
0392f25835 | |||
5a8d7936c2
|
|||
1a931d24b6
|
|||
a0b5980fa5
|
|||
93474cc92c | |||
146b254679 | |||
c68ec26d58 | |||
d5902e14f2 | |||
e6e16cc4ad | |||
62eaa4e070 | |||
8f339cb33e | |||
ae1a5d8c3b | |||
6a8cd4e988 | |||
613fd10ae6
|
|||
272e311cdc
|
|||
2e371d2767
|
|||
b3f2b47a12
|
|||
bb0beb298e
|
|||
506d68b0b8
|
|||
f4fa7d2dd3
|
|||
9ccf2d7ded
|
|||
f213211361 | |||
00c8856731 | |||
082c3742cb
|
|||
5f01c753f0
|
|||
1b377930d9
|
|||
aad9d69ab3
|
|||
dd2e32a145
|
|||
77e456f499
|
|||
20beed93e5 | |||
aef3d85bff
|
|||
12f0490906
|
|||
e24825edec | |||
0d631d9117 | |||
a26fb81492
|
|||
7d3953af31
|
|||
cf7d78753b
|
|||
959700054b
|
|||
4411ce472d
|
|||
c95d348f23
|
|||
6eaab2a7c7 | |||
fcee30acef
|
|||
f9d60040a3
|
|||
e0dd8f9d67
|
|||
eff091f4b8
|
|||
0bc4e0e1df
|
|||
872f4c91fb
|
|||
6e35a52bbd
|
|||
57af8685eb
|
|||
bafe56fac6
|
|||
4413b56ec4
|
|||
5b04a6566c
|
|||
b2117ccbf2
|
|||
c311fa2798
|
|||
8f3069776d
|
|||
52608253b1
|
|||
623e599a98
|
|||
dc8cd9c4d1
|
|||
a4ceafd5f0
|
|||
b9fe15a1e4
|
|||
3dcd3aea2b
|
|||
c4718bf3d1
|
|||
a2b564ce85
|
|||
5258939589
|
|||
9758a3dfd5
|
|||
6b8701ca14 | |||
4c5105c73f
|
|||
a18a0fd171
|
|||
4a8451d6b0
|
|||
c2ecc654b4
|
|||
888ccbbb2b
|
16
.env
16
.env
@ -1,7 +1,11 @@
|
|||||||
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
|
||||||
|
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
|
||||||
@ -10,6 +14,7 @@ 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
|
||||||
@ -41,14 +46,10 @@ 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
|
||||||
@ -106,3 +107,10 @@ 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
Normal file
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
secrets/** filter=git-crypt diff=git-crypt
|
||||||
|
.gitattributes !filter !diff
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
git-crypt-key
|
@ -1,47 +1,65 @@
|
|||||||
---
|
---
|
||||||
version: '3.3'
|
configs:
|
||||||
|
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: caddy
|
image: lucaslorentz/caddy-docker-proxy:ci-alpine
|
||||||
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
|
||||||
user: ${PUID}
|
environment:
|
||||||
|
- 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:
|
||||||
- caddy
|
ipv4_address: 192.168.240.2
|
||||||
profiles:
|
|
||||||
- infra
|
|
||||||
- base
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
# cap_drop:
|
# cap_drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
@ -62,26 +80,37 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- caddy
|
- caddy
|
||||||
networks:
|
networks:
|
||||||
- caddy
|
public:
|
||||||
- public
|
ipv4_address: 192.168.240.3
|
||||||
profiles:
|
labels:
|
||||||
- base
|
caddy: tracker.${DOMAIN}
|
||||||
|
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: zadam/trilium
|
image: triliumnext/notes:v0.95.0
|
||||||
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:
|
||||||
profiles:
|
ipv4_address: 192.168.240.4
|
||||||
- base
|
|
||||||
|
|
||||||
ntfy:
|
ntfy:
|
||||||
image: binwiederhier/ntfy
|
image: binwiederhier/ntfy
|
||||||
@ -97,14 +126,19 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "${NTFY_EXTERNAL_PORT}:${NTFY_INTERNAL_PORT}"
|
- "${NTFY_EXTERNAL_PORT}:${NTFY_INTERNAL_PORT}"
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
profiles:
|
ipv4_address: 192.168.240.5
|
||||||
- base
|
labels:
|
||||||
- infra
|
caddy: "notify.${DOMAIN}, http://notify.${DOMAIN}"
|
||||||
|
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
|
image: ghcr.io/advplyr/audiobookshelf:2.20.0
|
||||||
container_name: audiobookshelf
|
container_name: audiobookshelf
|
||||||
environment:
|
environment:
|
||||||
- AUDIOBOOKSHELF_UID=${PUID}
|
- AUDIOBOOKSHELF_UID=${PUID}
|
||||||
@ -118,17 +152,15 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "${AUDIOBOOKSHELF_EXTERNAL_PORT}:${AUDIOBOOKSHELF_INTERNAL_PORT}"
|
- "${AUDIOBOOKSHELF_EXTERNAL_PORT}:${AUDIOBOOKSHELF_INTERNAL_PORT}"
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
profiles:
|
ipv4_address: 192.168.240.6
|
||||||
- disabled
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
beets:
|
beets:
|
||||||
image: ${REGISTRY_URL}/beets:latest
|
image: lscr.io/linuxserver/beets:2.2.0
|
||||||
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"
|
||||||
@ -137,14 +169,13 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 8337:8337
|
- 8337:8337
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
profiles:
|
ipv4_address: 192.168.240.7
|
||||||
- base
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
mealie:
|
mealie:
|
||||||
container_name: mealie
|
container_name: mealie
|
||||||
image: hkotel/mealie:latest
|
image: hkotel/mealie:v1.9.0
|
||||||
environment:
|
environment:
|
||||||
PUID: ${PUID}
|
PUID: ${PUID}
|
||||||
PGID: ${PGID}
|
PGID: ${PGID}
|
||||||
@ -153,10 +184,12 @@ 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:
|
||||||
@ -178,9 +211,11 @@ services:
|
|||||||
- "8118:8118"
|
- "8118:8118"
|
||||||
- "6881:6881"
|
- "6881:6881"
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
profiles:
|
ipv4_address: 192.168.240.9
|
||||||
- base
|
labels:
|
||||||
|
caddy: torrent.${DOMAIN}
|
||||||
|
caddy.reverse_proxy: "{{ upstreams 9080 }}"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
webhook:
|
webhook:
|
||||||
@ -196,10 +231,8 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "${WEBHOOK_EXTERNAL_PORT}:${WEBHOOK_INTERNAL_PORT}"
|
- "${WEBHOOK_EXTERNAL_PORT}:${WEBHOOK_INTERNAL_PORT}"
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
profiles:
|
ipv4_address: 192.168.240.10
|
||||||
- base
|
|
||||||
- infra
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
valheim:
|
valheim:
|
||||||
@ -215,28 +248,12 @@ services:
|
|||||||
cap_add:
|
cap_add:
|
||||||
- SYS_NICE
|
- SYS_NICE
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
profiles:
|
ipv4_address: 192.168.240.11
|
||||||
- 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:latest
|
image: stashapp/stash:v0.28.1
|
||||||
container_name: stash
|
container_name: stash
|
||||||
ports:
|
ports:
|
||||||
- "${STASH_EXTERNAL_PORT}:${STASH_INTERNAL_PORT}"
|
- "${STASH_EXTERNAL_PORT}:${STASH_INTERNAL_PORT}"
|
||||||
@ -271,13 +288,12 @@ 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:
|
||||||
profiles:
|
ipv4_address: 192.168.240.13
|
||||||
- base
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
navidrome:
|
navidrome:
|
||||||
image: deluan/navidrome
|
image: deluan/navidrome:0.57.0
|
||||||
container_name: navidrome
|
container_name: navidrome
|
||||||
ports:
|
ports:
|
||||||
- "${NAVIDROME_EXTERNAL_PORT}:${NAVIDROME_INTERNAL_PORT}"
|
- "${NAVIDROME_EXTERNAL_PORT}:${NAVIDROME_INTERNAL_PORT}"
|
||||||
@ -288,9 +304,11 @@ 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:
|
||||||
profiles:
|
ipv4_address: 192.168.240.14
|
||||||
- base
|
labels:
|
||||||
|
caddy: music.${DOMAIN}
|
||||||
|
caddy.reverse_proxy: "{{ upstreams $NAVIDROME_INTERNAL_PORT }}"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
maloja:
|
maloja:
|
||||||
@ -304,23 +322,23 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- "${DOCKER_STORAGE_PATH}/maloja:/data"
|
- "${DOCKER_STORAGE_PATH}/maloja:/data"
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
profiles:
|
ipv4_address: 192.168.240.15
|
||||||
- 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:
|
||||||
- redis
|
public:
|
||||||
|
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:latest
|
image: ghcr.io/paperless-ngx/paperless-ngx:2.0.1
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
@ -329,12 +347,8 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "${PAPERLESS_EXTERNAL_PORT}:${PAPERLESS_INTERNAL_PORT}"
|
- "${PAPERLESS_EXTERNAL_PORT}:${PAPERLESS_INTERNAL_PORT}"
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
- redis
|
ipv4_address: 192.168.240.16
|
||||||
- tika
|
|
||||||
- gotenberg
|
|
||||||
profiles:
|
|
||||||
- base
|
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test:
|
test:
|
||||||
[
|
[
|
||||||
@ -366,11 +380,10 @@ services:
|
|||||||
image: docker.io/gotenberg/gotenberg:7.6
|
image: docker.io/gotenberg/gotenberg:7.6
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- gotenberg
|
public:
|
||||||
|
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"
|
||||||
@ -379,9 +392,8 @@ services:
|
|||||||
tika:
|
tika:
|
||||||
image: ghcr.io/paperless-ngx/tika:latest
|
image: ghcr.io/paperless-ngx/tika:latest
|
||||||
networks:
|
networks:
|
||||||
- tika
|
public:
|
||||||
profiles:
|
ipv4_address: 192.168.240.18
|
||||||
- base
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
homer:
|
homer:
|
||||||
@ -390,9 +402,8 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "${HOMER_EXTERNAL_PORT}:${HOMER_INTERNAL_PORT}"
|
- "${HOMER_EXTERNAL_PORT}:${HOMER_INTERNAL_PORT}"
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
profiles:
|
ipv4_address: 192.168.240.19
|
||||||
- base
|
|
||||||
volumes:
|
volumes:
|
||||||
- "${DOCKER_STORAGE_PATH}/homer:/www/assets"
|
- "${DOCKER_STORAGE_PATH}/homer:/www/assets"
|
||||||
environment:
|
environment:
|
||||||
@ -401,11 +412,12 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
syncthing:
|
syncthing:
|
||||||
image: lscr.io/linuxserver/syncthing:latest
|
image: lscr.io/linuxserver/syncthing:1.28.1
|
||||||
container_name: syncthing
|
container_name: syncthing
|
||||||
volumes:
|
volumes:
|
||||||
- "${DOCKER_STORAGE_PATH}/syncthing:/config"
|
- "${DOCKER_STORAGE_PATH}/syncthing:/config"
|
||||||
- "${STORAGE_PATH}/docker-storage/syncthing:/general"
|
- "${DOCKER_STORAGE_PATH}/syncthing/shares:/shares"
|
||||||
|
- "${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}"
|
||||||
@ -415,16 +427,19 @@ 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:
|
||||||
@ -433,18 +448,19 @@ 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:
|
||||||
- mariadb
|
public:
|
||||||
- public
|
ipv4_address: 192.168.240.22
|
||||||
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:
|
||||||
@ -453,75 +469,32 @@ 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:
|
||||||
- mariadb
|
public:
|
||||||
- public
|
ipv4_address: 192.168.240.23
|
||||||
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:
|
||||||
- postgres
|
ipv4_address: 192.168.240.24
|
||||||
|
labels:
|
||||||
|
caddy: baserow.${DOMAIN}
|
||||||
|
caddy.reverse_proxy: "{{ upstreams 80 }}"
|
||||||
depends_on:
|
depends_on:
|
||||||
- postgres
|
- postgres
|
||||||
env_file:
|
env_file:
|
||||||
@ -529,33 +502,21 @@ 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: ${REGISTRY_URL}/gitea:latest
|
image: gitea/gitea:1.24.0
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
- postgres
|
ipv4_address: 192.168.240.26
|
||||||
- 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
|
||||||
@ -570,7 +531,8 @@ 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:
|
||||||
- gitea
|
public:
|
||||||
|
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
|
||||||
@ -580,18 +542,17 @@ 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:simple
|
image: linkace/linkace:v1.15.4-simple
|
||||||
container_name: linkace
|
container_name: linkace
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
- mariadb
|
ipv4_address: 192.168.240.28
|
||||||
- redis
|
labels:
|
||||||
|
caddy: bookmarks.${DOMAIN}
|
||||||
|
caddy.reverse_proxy: "{{ upstreams 80 }}"
|
||||||
depends_on:
|
depends_on:
|
||||||
- mariadb
|
- mariadb
|
||||||
- redis
|
- redis
|
||||||
@ -610,8 +571,6 @@ 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"
|
||||||
@ -629,43 +588,43 @@ services:
|
|||||||
# - public
|
# - public
|
||||||
|
|
||||||
vaultwarden:
|
vaultwarden:
|
||||||
image: vaultwarden/server:latest
|
image: vaultwarden/server:1.32.1
|
||||||
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='287eaff9-7be7-4b52-a31d-b09100dc0f5c'
|
# PUSH_INSTALLATION_ID=
|
||||||
#- PUSH_INSTALLATION_KEY='n0xrH7YORuvJk8rqvxB5'
|
# PUSH_INSTALLATION_KEY=
|
||||||
- ADMIN_TOKEN=$$argon2id$$v=19$$m=65540,t=3,p=4$$aWJ2cVRvYUsySkM3M01TMTJJMnZqbUF0Wm1qRWhvd1B6Sk50Q1hwck96dz0$$FKjZ36E54pX2e0AE9OaDpiH43TyAyfVwr3IvracbqEA
|
- PUSH_RELAY_URI=https://api.bitwarden.eu
|
||||||
|
- 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
|
||||||
postgres:
|
ipam:
|
||||||
external: true
|
config:
|
||||||
mariadb:
|
# 192.168.240.1 - 192.168.240.254
|
||||||
attachable: true
|
- subnet: "192.168.240.0/24"
|
||||||
gitea:
|
|
||||||
external: false
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
timetracker-static:
|
timetracker-static:
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
KAVITA_INTERNAL_PORT=5000
|
|
||||||
KAVITA_EXTERNAL_PORT=5100
|
|
@ -5,7 +5,12 @@ 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
|
||||||
|
@ -2,7 +2,8 @@ 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=false
|
ND_DEVACTIVITYPANEL=true
|
||||||
ND_SEARCHFULLSTRING=true
|
ND_SEARCHFULLSTRING=true
|
||||||
ND_ENABLESHARING=true
|
ND_ENABLESHARING=true
|
||||||
ND_LOGLEVEL=error
|
ND_LOGLEVEL=error
|
||||||
|
ND_PREFERSORTTAGS=true
|
||||||
|
BIN
secrets/drone.env
Normal file
BIN
secrets/drone.env
Normal file
Binary file not shown.
BIN
secrets/enshrouded.env
Normal file
BIN
secrets/enshrouded.env
Normal file
Binary file not shown.
BIN
secrets/jelu-application.yml
Normal file
BIN
secrets/jelu-application.yml
Normal file
Binary file not shown.
BIN
secrets/jelu.env
Normal file
BIN
secrets/jelu.env
Normal file
Binary file not shown.
BIN
secrets/protonvpn.env
Normal file
BIN
secrets/protonvpn.env
Normal file
Binary file not shown.
BIN
secrets/vaultwarden.env
Normal file
BIN
secrets/vaultwarden.env
Normal file
Binary file not shown.
51
services/7dtdserver.yml
Normal file
51
services/7dtdserver.yml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
services:
|
services:
|
||||||
bazarr:
|
bazarr:
|
||||||
image: docker.io/linuxserver/bazarr:latest
|
image: docker.io/linuxserver/bazarr:latest
|
||||||
@ -5,11 +6,13 @@ 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:
|
restart: unless-stopped
|
||||||
- base
|
|
||||||
restart: unless-stopped
|
|
||||||
|
17
services/calibre-web.yml
Normal file
17
services/calibre-web.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
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
|
2
services/drone/drone.env
Normal file
2
services/drone/drone.env
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
DRONE_SERVER_HOST=drone.${DOMAIN}
|
||||||
|
DRONE_RPC_HOST=${DRONE_SERVER_HOST}
|
44
services/drone/drone.yml
Normal file
44
services/drone/drone.yml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
---
|
||||||
|
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
|
21
services/enshrouded.yml
Normal file
21
services/enshrouded.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
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}
|
35
services/gluetun.yml
Normal file
35
services/gluetun.yml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
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=
|
15
services/handbrake-server.yml
Normal file
15
services/handbrake-server.yml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
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
|
23
services/jellyfin.yml
Normal file
23
services/jellyfin.yml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
jellyfin:
|
||||||
|
image: linuxserver/jellyfin:10.10.7
|
||||||
|
container_name: jellyfin
|
||||||
|
ports:
|
||||||
|
- "8096:8096"
|
||||||
|
- "1900:1900/udp"
|
||||||
|
- "7359:7359/udp"
|
||||||
|
networks:
|
||||||
|
public:
|
||||||
|
ipv4_address: 192.168.240.32
|
||||||
|
labels:
|
||||||
|
caddy: jellyfin.${DOMAIN}
|
||||||
|
caddy.reverse_proxy: "{{ upstreams 8096 }}"
|
||||||
|
volumes:
|
||||||
|
- "${DOCKER_STORAGE_PATH}/jellyfin:/config"
|
||||||
|
- "${MEDIA_PATH}:/data/media"
|
||||||
|
environment:
|
||||||
|
- "JELLYFIN_PublishedServerUrl=https://jellyfin.${DOMAIN}"
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
restart: unless-stopped
|
29
services/jelu.yml
Normal file
29
services/jelu.yml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
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
|
||||||
|
|
21
services/kavita.yml
Normal file
21
services/kavita.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
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
|
18
services/komga.yml
Normal file
18
services/komga.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
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
|
16
services/miniflux.yml
Normal file
16
services/miniflux.yml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
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
|
14
services/netbootxyz.yml
Normal file
14
services/netbootxyz.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
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
|
24
services/nextcloud.yml
Normal file
24
services/nextcloud.yml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
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
|
24
services/openldap.yml
Normal file
24
services/openldap.yml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
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
|
17
services/portainer.yml
Normal file
17
services/portainer.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
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:
|
11
services/postgres.yml
Normal file
11
services/postgres.yml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
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
|
14
services/prowlarr.yml
Normal file
14
services/prowlarr.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
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
|
19
services/radarr.yml
Normal file
19
services/radarr.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
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
|
30
services/redlib.yml
Normal file
30
services/redlib.yml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
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
|
17
services/registry.yml
Normal file
17
services/registry.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
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
|
21
services/sabnzbd.yml
Normal file
21
services/sabnzbd.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
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
|
40
services/sonarr.yml
Normal file
40
services/sonarr.yml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
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
|
12
services/uptime-kuma.yml
Normal file
12
services/uptime-kuma.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
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
|
Reference in New Issue
Block a user