This commit is contained in:
2026-05-20 13:47:17 +02:00
parent be5bff6e14
commit 555d37dfaa
20 changed files with 672 additions and 17 deletions
+41
View File
@@ -0,0 +1,41 @@
version: "2.4"
services:
audiobookshelf:
container_name: audiobookshelf
image: ghcr.io/advplyr/audiobookshelf
pids_limit: 2048
user: 3000:3000
ports:
- "80:13378"
networks:
DMZ:
ipv4_address: 10.10.12.24
volumes:
- type: volume
source: audiobookshelf_data
target: /config
- type: volume
source: audiobookshelf_data
target: /metadata
volume:
subpath: metadata
- type: volume
source: audiobookshelf_data_audiobooks
target: /audiobooks
volumes:
audiobookshelf_data:
external: true
audiobookshelf_data_audiobooks:
external: true
networks:
DMZ:
external: true
name: DMZ
+21
View File
@@ -0,0 +1,21 @@
services:
cloudbeaver:
container_name: cloudbeaver
image: dbeaver/cloudbeaver:latest
restart: always
ports:
- "8978:8978"
networks:
DMZ:
ipv4_address: 10.10.12.17
db_proxy:
volumes:
- cloudbeaver_data:/opt/cloudbeaver/workspace
networks:
DMZ:
external: true
db_proxy:
external: true
volumes:
cloudbeaver_data:
external: true
+53 -17
View File
@@ -1,27 +1,63 @@
services:
filezilla:
container_name: filezilla
image: jlesage/filezilla
ports:
- "5800:5800"
networks:
DMZ:
ipv4_address: 10.10.12.13
npm_proxy:
dns:
- 1.1.1.1
volumes:
- /srv/docker/filezilla/config:/config:rw
- pyload_download_data:/storage:rw
environment:
- USER_ID=3000
- GROUP_ID=3000
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/base/sbin:/opt/base/bin
- ENV=/root/.docker_rc
- SUP_GROUP_IDS=
- UMASK=0022
- LANG=en_US.UTF-8
- TZ=Etc/UTC
- KEEP_APP_RUNNING=0
- APP_NICENESS=0
- INSTALL_PACKAGES=
- PACKAGES_MIRROR=
- CONTAINER_DEBUG=0
- DISPLAY_WIDTH=1920
- DISPLAY_HEIGHT=1080
- DARK_MODE=0
- SECURE_CONNECTION=0
- SECURE_CONNECTION_VNC_METHOD=SSL
- SECURE_CONNECTION_CERTS_CHECK_INTERVAL=60
- WEB_LOCALHOST_ONLY=0
- VNC_LOCALHOST_ONLY=0
- WEB_LISTENING_PORT=5800
- VNC_LISTENING_PORT=5900
- VNC_PASSWORD=
- ENABLE_CJK_FONT=0
- WEB_AUDIO=0
- WEB_AUTHENTICATION=0
- WEB_AUTHENTICATION_TOKEN_VALIDITY_TIME=24
- WEB_AUTHENTICATION_USERNAME=
- WEB_AUTHENTICATION_PASSWORD=
- WEB_FILE_MANAGER=0
- WEB_FILE_MANAGER_ALLOWED_PATHS=AUTO
- WEB_FILE_MANAGER_DENIED_PATHS=
- WEB_NOTIFICATION=0
- WEB_TERMINAL=0
networks:
DMZ:
ipv4_address: 10.10.12.13
dns:
- 1.1.1.1
ports:
- 5800:5800
volumes:
- filezilla_data:/config
- pyload_download_data:/storage
volumes:
pyload_download_data:
external: true
pyload_download_data:
external: true
filezilla_data:
external: true
networks:
npm_proxy:
external: true
DMZ:
external: true
DMZ:
external: true
name: DMZ
+20
View File
@@ -0,0 +1,20 @@
version: "2.4"
services:
firefox:
container_name: firefox
volumes:
- firefox_data:/config:rw
image: jlesage/firefox
networks:
DMZ:
ipv4_address: 10.10.12.14
volumes:
firefox_data:
external: true
networks:
DMZ:
external: true
+52
View File
@@ -0,0 +1,52 @@
version: "3"
networks:
gitea:
external: false
DMZ:
external: true
volumes:
gitea_data:
external: true
services:
server:
image: docker.gitea.com/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
gitea:
DMZ:
ipv4_address: 10.10.12.34
volumes:
- gitea_data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3020:3000"
- "222:22"
depends_on:
- db
db:
container_name: postgresql16
image: docker.io/library/postgres:16
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- ./postgres:/var/lib/postgresql/data
+51
View File
@@ -0,0 +1,51 @@
version: "2.4"
services:
immich:
container_name: immich
image: ghcr.io/imagegenius/immich
pids_limit: 2048
ports:
- '8080:8080'
environment:
- TZ=Europe/Berlin
- DB_HOSTNAME=postgresql14
- DB_USERNAME=postgres
- DB_PASSWORD=rabenNest7$
- DB_DATABASE_NAME=postgres
- REDIS_HOSTNAME=redis
- DB_PORT=5432
- REDIS_PORT=6379
- REDIS_PASSWORD=
- MACHINE_LEARNING_GPU_ACCELERATION=
- MACHINE_LEARNING_WORKERS=1
- MACHINE_LEARNING_WORKER_TIMEOUT=120
- PUID=0
- PGID=0
- UMASK=022
networks:
DMZ:
ipv4_address: 10.10.12.23
db_proxy:
volumes:
- immich_data:/config:rw
- immich_photos:/photos:rw
- immich_photos_import:/import:rw
dns:
- 1.1.1.1
restart: unless-stopped
volumes:
immich_data:
external: true
immich_photos:
external: true
immich_photos_import:
external: true
networks:
DMZ:
external: true
name: DMZ
db_proxy:
external: true
name: db_proxy
+30
View File
@@ -0,0 +1,30 @@
version: "2.4"
services:
jellyfin:
container_name: jellyfin
network_mode: "host"
image: jellyfin/jellyfin
pids_limit: 2048
environment:
- PUID=1000
- PGID=1000
- JELLYFIN_PublishedServerUrl=http://10.10.10.21:8096
- TZ=Europe/Berlin
- ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
volumes:
- media_data:/data/media:rw
- jellyfin_data:/config:rw
- jellyfin_cache:/cache:rw
dns:
- 10.10.10.1
volumes:
jellyfin_data:
external: true
jellyfin_cache:
external: true
media_data:
external: true
+27
View File
@@ -0,0 +1,27 @@
version: "2.4"
services:
mariadb:
container_name: mariadb
image: ghcr.io/linuxserver/mariadb
pids_limit: 2048
ports:
- '3306:3306'
environment:
- MYSQL_ROOT_PASSWORD=rabenNest7$
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=rabenNest7$
- PUID=99
- PGID=100
- UMASK=022
networks:
- db_proxy
volumes:
- mariadb_data:/config:rw
restart: unless-stopped
volumes:
mariadb_data:
external: true
networks:
db_proxy:
external: true
+22
View File
@@ -0,0 +1,22 @@
version: '3'
services:
mediathekwebloader:
container_name: mediathekwebloader
image: ghcr.io/mboehmlaender/mediathekwebloader:latest
volumes:
- mvl_data:/app/data
restart: unless-stopped
networks:
DMZ:
ipv4_address: 10.10.12.40
npm_proxy:
dns:
- 1.1.1.1
networks:
npm_proxy:
external: true
DMZ:
external: true
volumes:
mvl_data:
external: true
+39
View File
@@ -0,0 +1,39 @@
version: "2.4"
services:
nextcloud:
container_name: nextcloud
image: ghcr.io/linuxserver/nextcloud
pids_limit: 2048
ports:
- '443:443'
environment:
- TZ=Europe/Berlin
- PUID=99
- PGID=100
- UMASK=022
- PHP_UPLOAD_MAX_FILESIZE=100G # Maximale Dateigröße pro Upload
- PHP_POST_MAX_SIZE=120G # Max. POST-Daten, sollte >= Uploadmax sein
- PHP_MEMORY_LIMIT=512M # Arbeitsspeicherlimit für PHP
- PHP_MAX_INPUT_VARS=100000 # Bei sehr vielen Dateien in einem Request
- PHP_MAX_FILE_UPLOADS=10000 # Maximale Anzahl Dateien pro Upload
networks:
DMZ:
ipv4_address: 10.10.12.15
db_proxy: # Zugriff auf Datenbank möglich
volumes:
- nextcloud_data:/config:rw
- nextcloud_nc_data:/data:rw
restart: unless-stopped
volumes:
nextcloud_data:
external: true
nextcloud_nc_data:
external: true
networks:
DMZ:
external: true
name: DMZ
db_proxy:
external: true
+19
View File
@@ -0,0 +1,19 @@
services:
paperless-ai:
image: clusterzx/paperless-ai
container_name: paperless-ai
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- paperless-ai_data:/app/data
networks:
npm_proxy:
dns:
- 1.1.1.1
volumes:
paperless-ai_data:
external: true
networks:
npm_proxy:
external: true
+29
View File
@@ -0,0 +1,29 @@
services:
paperless-gpt:
container_name: paperless-gpt
image: icereed/paperless-gpt:latest # Docker Hub
restart: always
volumes:
- paperless-gpt_data:/app/data
networks:
npm_proxy:
ports:
- "8080:8080"
environment:
PAPERLESS_BASE_URL: "http://paperless:8000"
PAPERLESS_API_TOKEN: "01d5ce120d683230ca4286e5d467cba44e2dca03"
LLM_PROVIDER: "openai"
LLM_MODEL: "gpt-4o"
OPENAI_API_KEY: "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"
OCR_PROVIDER: "llm"
VISION_LLM_PROVIDER: "openai" # or "ollama"
VISION_LLM_MODEL: "gpt-4o" # or "minicpm-v"
PDF_OCR_TAGGING: "true" # Optional, add tag to processed documents
PDF_OCR_COMPLETE_TAG: "ocr_gpt" # Optional, tag name
volumes:
paperless-gpt_data:
external: true
networks:
npm_proxy:
external: true
+76
View File
@@ -0,0 +1,76 @@
version: "2.4"
services:
paperless:
container_name: paperless
image: ghcr.io/paperless-ngx/paperless-ngx
pids_limit: 2048
environment:
- TZ=Europe/Berlin
- PAPERLESS_REDIS=redis://redis/1
- PAPERLESS_OCR_LANGUAGE=deu
- PAPERLESS_OCR_LANGUAGES=
- PAPERLESS_FILENAME_FORMAT={{ created }}-{{ correspondent }}-{{title }}
- PAPERLESS_TIME_ZONE=Europe/Berlin
- PAPERLESS_URL=http://docs.d-razz.de
- PAPERLESS_TRUSTED_PROXIES=10.10.12.10
- PAPERLESS_ALLOWED_HOSTS=docs.d-razz.de,docs.home.arpa,paperless,10.10.10.21
- PAPERLESS_CSRF_TRUSTED_ORIGINS=https://docs.d-razz.de,https://docs.home.arpa
- PAPERLESS_IGNORE_DATES=
- PAPERLESS_DBENGINE=postgre
- PAPERLESS_DBNAME=paperless
- PAPERLESS_DBUSER=paperless
- PAPERLESS_DBPASS=rabenNest7$
- PAPERLESS_DBHOST=postgresql14
- PAPERLESS_CONSUMER_RECURSIVE=true
- PAPERLESS_SECRET_KEY=
- PUID=1000
- PGID=1000
- PAPERLESS_APPS=allauth.socialaccount.providers.openid_connect
- PAPERLESS_SOCIAL_AUTO_SIGNUP=true
- PAPERLESS_LOGOUT_REDIRECT_URL=https://auth.d-razz.de/application/o/paperless-oidc/end-session/
- PAPERLESS_SOCIALACCOUNT_PROVIDERS={"openid_connect":{"OAUTH_PKCE_ENABLED":true,"APPS":[{"provider_id":"authentik","name":"authentik","client_id":"XytpWhWGOWI0xNGJUlTglEgo8bD23fG6OlnlPYPP","secret":"npGW2hV61bmMngpVqtaRKLUHGaDc0vx1rKghoE9K0CfAhopnpxGRb1bqJnp3mT4vaZ77KmbLEttQYuuNpNZPzoDitKZfAiZnlJCobagmmFmwVo8q7hMF9kO9xE7Eg5Dx","settings":{"server_url":"https://auth.d-razz.de/application/o/paperless-oidc/.well-known/openid-configuration","fetch_userinfo":true}}],"SCOPE":["openid","profile","email"]}}
- PAPERLESS_CSRF_TRUSTED_ORIGINS=https://docs.d-razz.de
- PAPERLESS_OIDC_DEFAULT=true
- PAPERLESS_OIDC_AUTHENTICATION=true
- PAPERLESS_REDIRECT_LOGIN_TO_SSO=true
- USERMAP_UID=3002
- USERMAP_GID=3003
ports:
- 8002:8000
networks:
db_proxy:
volumes:
- paperless_data:/usr/src/paperless/data:rw
- paperless_share_export:/usr/src/paperless/export:rw
- paperless_share_consume:/usr/src/paperless/consume:rw
- paperless_share_media:/usr/src/paperless/media:rw
- paperless_data_michael:/usr/src/paperless/media/documents/archive/Michael/Share:rw
- paperless_data_christina:/usr/src/paperless/media/documents/archive/Christina/Share:rw
- paperless_data_family:/usr/src/paperless/media/documents/archive/Family/Share:rw
dns:
- 10.10.12.1
restart: unless-stopped
volumes:
paperless_data:
external: true
paperless_share_media:
external: true
paperless_share_consume:
external: true
paperless_share_export:
external: true
paperless_data_michael:
external: true
paperless_data_christina:
external: true
paperless_data_family:
external: true
networks:
db_proxy:
external: true
+32
View File
@@ -0,0 +1,32 @@
version: "2.4"
services:
pyload-ng:
container_name: pyload-ng
image: ghcr.io/linuxserver/pyload-ng
pids_limit: 2048
ports:
- '8000:8000'
- '9666:9666'
environment:
- TZ=Europe/Berlin
- PUID=3000
- PGID=3000
networks:
DMZ:
ipv4_address: 10.10.12.16
volumes:
- pyload_download_data:/downloads:rw
- pyload_data:/config:rw
dns:
- 1.1.1.1
restart: unless-stopped
volumes:
pyload_data:
external: true
pyload_download_data:
external: true
networks:
DMZ:
external: true
name: DMZ
+23
View File
@@ -0,0 +1,23 @@
version: "2.4"
services:
redis:
container_name: redis
image: redis
pids_limit: 2048
ports:
- '6379:6379'
environment:
- TZ=Europe/Berlin
networks:
db_proxy:
volumes:
- redis_data:/data:rw
dns:
- 1.1.1.1
restart: unless-stopped
volumes:
redis_data:
external: true
networks:
db_proxy:
external: true
+28
View File
@@ -0,0 +1,28 @@
version: "2.4"
services:
stackpulse:
container_name: stackpulse
image: ghcr.io/mboehmlaender/stackpulse
ports:
- '4001:4001'
environment:
- PORTAINER_URL=https://10.10.10.21:9443/
- PORTAINER_API_KEY=ptr_FOb9TnTWWsGYHidw8lDv2zNdRP9nDVUH+vVTWj+bPmo=
- SELF_STACK_ID=161
- SUPERUSER_USERNAME=michael
- SUPERUSER_EMAIL=mboehmlaender@gmx.net
- SUPERUSER_PASSWORD=rabenNest7$
networks:
DMZ:
ipv4_address: 10.10.12.10
volumes:
- stackpulse_data:/app/backend/data
restart: always
networks:
DMZ:
external: true
volumes:
stackpulse_data:
external: true
+22
View File
@@ -0,0 +1,22 @@
services:
termix:
image: ghcr.io/lukegus/termix:latest
container_name: termix
restart: unless-stopped
ports:
- '8080:8080'
volumes:
- termix_data:/app/data
environment:
PORT: '8080'
networks:
DMZ:
ipv4_address: 10.10.12.26
volumes:
termix_data:
external: true
networks:
DMZ:
external: true
+30
View File
@@ -0,0 +1,30 @@
services:
backend:
image: ghcr.io/mboehmlaender/vault-backend:latest
container_name: vault-backend
restart: unless-stopped
ports:
- "5001:5001"
environment:
- PORT=5001
volumes:
- ./backend/data:/app/data
networks:
- vault_net
frontend:
image: ghcr.io/mboehmlaender/vault-frontend:latest
container_name: vault-frontend
restart: unless-stopped
depends_on:
- backend
networks:
vault_net:
DMZ:
ipv4_address: 10.10.12.28
networks:
vault_net:
driver: bridge
DMZ:
external: true
+33
View File
@@ -0,0 +1,33 @@
version: "2.4"
services:
vaultwarden:
container_name: vaultwarden
image: vaultwarden/server
pids_limit: 2048
ports:
- '80:4743'
networks:
DMZ:
ipv4_address: 10.10.12.11
environment:
- TZ=Europe/Berlin
- SIGNUPS_ALLOWED=false
- INVITATIONS_ALLOWED=false
- WEBSOCKET_ENABLED=true
- ADMIN_TOKEN=$argon2id$v=19$m=19456,t=2,p=1$ffK9p5/PGcOER1KXEWaTGZIDoltDOC1iYETrMdr0hsw$UgGfPNGiehuuhIdX8g2iPn18yd0v1W4ocZG7J/tW4L0
- PUSH_ENABLED=true
- PUSH_INSTALLATION_ID=c165a5ca-e237-46b7-bc70-b0b200b0395e
- PUSH_INSTALLATION_KEY=dYchSZvG5Hv6t4nrRW0t
- PUSH_RELAY_BASE_URI=https://push.bitwarden.com
volumes:
- vaultwarden_data:/data:rw
dns:
- 1.1.1.1
restart: unless-stopped
networks:
DMZ:
external: true
name: DMZ
volumes:
vaultwarden_data:
external: true
+24
View File
@@ -0,0 +1,24 @@
services:
wiki:
container_name: wiki
image: ghcr.io/requarks/wiki:2
environment:
DB_TYPE: postgres
DB_HOST: postgresql17
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: rabenNest7$
DB_NAME: wiki
restart: unless-stopped
networks:
DMZ:
ipv4_address: 10.10.12.20
db_proxy:
ports:
- "80:3000"
networks:
DMZ:
external: true
db_proxy:
external: true