feat(infra): füge restliche core-, orga- und media-stacks hinzu

This commit is contained in:
Felix
2026-05-15 21:20:33 +02:00
parent fdf501217d
commit 493337c64d
5 changed files with 318 additions and 0 deletions
+72
View File
@@ -0,0 +1,72 @@
title: "Brabros"
subtitle: "VPS Schaltzentrale"
icon: "fas fa-terminal"
header: true
columns: "3"
theme: default
# Ein homogenes, edles Dark-Theme
colors:
light:
background: "#0f172a"
card-background: "#1e293b"
text: "#f8fafc"
text-header: "#ffffff"
text-subtitle: "#94a3b8"
link: "#38bdf8"
link-hover: "#7dd3fc"
highlight-primary: "#a855f7"
highlight-secondary: "#6366f1"
dark:
background: "#0f172a"
card-background: "#1e293b"
text: "#f8fafc"
text-header: "#ffffff"
text-subtitle: "#94a3b8"
link: "#38bdf8"
link-hover: "#7dd3fc"
highlight-primary: "#a855f7"
highlight-secondary: "#6366f1"
services:
- name: "Core & Sicherheit"
icon: "fas fa-shield-alt"
items:
- name: "Authelia"
logo: "fas fa-key"
subtitle: "Zentrale Identität"
url: "https://auth.brabros.de"
- name: "Uptime Kuma"
logo: "fas fa-chart-bar"
subtitle: "Status & Monitoring"
url: "https://status.brabros.de"
- name: "Organisation"
icon: "fas fa-folder"
items:
- name: "BookStack Wiki"
logo: "fas fa-book"
subtitle: "Wissensdatenbank"
url: "https://wiki.brabros.de"
- name: "Vikunja To-Do"
logo: "fas fa-check-square"
subtitle: "Aufgaben & Kanban"
url: "https://todo.brabros.de"
- name: "Memos"
logo: "fas fa-sticky-note"
subtitle: "Schnelle Notizen"
url: "https://memos.brabros.de"
- name: "Apps & Media"
icon: "fas fa-cubes"
items:
- name: "File Browser"
logo: "fas fa-hdd"
subtitle: "Dateimanager"
url: "https://files.brabros.de"
- name: "Navidrome"
logo: "fas fa-compact-disc"
subtitle: "Musik-Streaming"
url: "https://music.brabros.de"
- name: "OpenClaw AI"
logo: "fas fa-brain"
subtitle: "Agenten Gateway"
url: "https://claw.brabros.de"
+77
View File
@@ -0,0 +1,77 @@
networks:
traefik_proxy:
external: true
services:
traefik:
image: traefik:latest
container_name: traefik
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/traefik:/etc/traefik
environment:
- DOCKER_API_VERSION=1.45
command:
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "--certificatesresolvers.myresolver.acme.email=frankberger85@gmail.com"
- "--certificatesresolvers.myresolver.acme.storage=/etc/traefik/acme.json"
networks:
- traefik_proxy
authelia:
image: authelia/authelia:latest
container_name: authelia
restart: unless-stopped
volumes:
- ./data/authelia:/config
networks:
- traefik_proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.authelia.rule=Host(`auth.brabros.de`)"
- "traefik.http.routers.authelia.entrypoints=websecure"
- "traefik.http.routers.authelia.tls.certresolver=myresolver"
- "traefik.http.services.authelia.loadbalancer.server.port=9091"
- "traefik.http.middlewares.authelia.forwardauth.address=http://authelia:9091/api/verify?rd=https://auth.brabros.de/"
- "traefik.http.middlewares.authelia.forwardauth.trustForwardHeader=true"
- "traefik.http.middlewares.authelia.forwardauth.authResponseHeaders=Remote-User,Remote-Groups,Remote-Name,Remote-Email"
homer:
image: b4bz/homer:latest
container_name: homer
restart: unless-stopped
volumes:
- ./data/homer:/www/assets
networks:
- traefik_proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.homer.rule=Host(`dashboard.brabros.de`)"
- "traefik.http.routers.homer.entrypoints=websecure"
- "traefik.http.routers.homer.tls.certresolver=myresolver"
- "traefik.http.routers.homer.middlewares=authelia@docker"
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: unless-stopped
volumes:
- ./data/uptime-kuma:/app/data
networks:
- traefik_proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.uptime.rule=Host(`status.brabros.de`)"
- "traefik.http.routers.uptime.entrypoints=websecure"
- "traefik.http.routers.uptime.tls.certresolver=myresolver"
- "traefik.http.routers.uptime.middlewares=authelia@docker"
+72
View File
@@ -0,0 +1,72 @@
title: "Brabros"
subtitle: "VPS Schaltzentrale"
icon: "fas fa-terminal"
header: true
columns: "3"
theme: default
# Ein homogenes, edles Dark-Theme
colors:
light:
background: "#0f172a"
card-background: "#1e293b"
text: "#f8fafc"
text-header: "#ffffff"
text-subtitle: "#94a3b8"
link: "#38bdf8"
link-hover: "#7dd3fc"
highlight-primary: "#a855f7"
highlight-secondary: "#6366f1"
dark:
background: "#0f172a"
card-background: "#1e293b"
text: "#f8fafc"
text-header: "#ffffff"
text-subtitle: "#94a3b8"
link: "#38bdf8"
link-hover: "#7dd3fc"
highlight-primary: "#a855f7"
highlight-secondary: "#6366f1"
services:
- name: "Core & Sicherheit"
icon: "fas fa-shield-alt"
items:
- name: "Authelia"
logo: "fas fa-key"
subtitle: "Zentrale Identität"
url: "https://auth.brabros.de"
- name: "Uptime Kuma"
logo: "fas fa-chart-bar"
subtitle: "Status & Monitoring"
url: "https://status.brabros.de"
- name: "Organisation"
icon: "fas fa-folder"
items:
- name: "BookStack Wiki"
logo: "fas fa-book"
subtitle: "Wissensdatenbank"
url: "https://wiki.brabros.de"
- name: "Vikunja To-Do"
logo: "fas fa-check-square"
subtitle: "Aufgaben & Kanban"
url: "https://todo.brabros.de"
- name: "Memos"
logo: "fas fa-sticky-note"
subtitle: "Schnelle Notizen"
url: "https://memos.brabros.de"
- name: "Apps & Media"
icon: "fas fa-cubes"
items:
- name: "File Browser"
logo: "fas fa-hdd"
subtitle: "Dateimanager"
url: "https://files.brabros.de"
- name: "Navidrome"
logo: "fas fa-compact-disc"
subtitle: "Musik-Streaming"
url: "https://music.brabros.de"
- name: "OpenClaw AI"
logo: "fas fa-brain"
subtitle: "Agenten Gateway"
url: "https://claw.brabros.de"
+72
View File
@@ -0,0 +1,72 @@
networks:
traefik_proxy:
external: true
orga_private:
driver: bridge
services:
orga-db:
image: mariadb:10.11
container_name: orga-db
restart: unless-stopped
volumes:
- ./data/db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: '%sjkhfl9(nvskl98fdsodkgjldsdölkgjpsdkrjg'
networks:
- orga_private
bookstack:
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- APP_URL=https://wiki.brabros.de
- DB_HOST=orga-db
- DB_PORT=3306
- DB_DATABASE=bookstack
# HIER SIND DIE KORREKTEN VARIABLENNAMEN:
- DB_USERNAME=bookstack
- DB_PASSWORD=BkStkPasswd2026Secure
- APP_KEY=base64:c3VwZXJzZWN1cmVhcHBrZXlib29rc3RhY2syMDI2bXk=
volumes:
- ./data/bookstack:/config
networks:
- traefik_proxy
- orga_private
labels:
- "traefik.enable=true"
- "traefik.http.routers.bookstack.rule=Host(`wiki.brabros.de`)"
- "traefik.http.routers.bookstack.entrypoints=websecure"
- "traefik.http.routers.bookstack.tls.certresolver=myresolver"
- "traefik.http.routers.bookstack.middlewares=authelia@docker"
- "traefik.http.services.bookstack.loadbalancer.server.port=80"
- "traefik.docker.network=traefik_proxy"
vikunja:
image: vikunja/vikunja:latest
container_name: vikunja
restart: unless-stopped
environment:
- VIKUNJA_DATABASE_HOST=orga-db
- VIKUNJA_DATABASE_PASSWORD=)%klsjfl8mnfwmf98ewiouhffwef
- VIKUNJA_DATABASE_TYPE=mysql
- VIKUNJA_DATABASE_USER=vikunja
- VIKUNJA_DATABASE_DATABASE=vikunja
- VIKUNJA_SERVICE_SECRET=EinZufaelligerLangerStringFuerJWT
- VIKUNJA_SERVICE_PUBLICURL=https://todo.brabros.de/
volumes:
- ./data/vikunja:/app/vikunja/files
networks:
- traefik_proxy
- orga_private
labels:
- "traefik.enable=true"
- "traefik.http.routers.vikunja.rule=Host(`todo.brabros.de`)"
- "traefik.http.routers.vikunja.entrypoints=websecure"
- "traefik.http.routers.vikunja.tls.certresolver=myresolver"
- "traefik.http.routers.vikunja.middlewares=authelia@docker"
- "traefik.http.services.vikunja.loadbalancer.server.port=3456"
- "traefik.docker.network=traefik_proxy"
+25
View File
@@ -0,0 +1,25 @@
networks:
traefik_proxy:
external: true
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
restart: unless-stopped
environment:
- ND_SCANINTERVAL=10m
- ND_LOGLEVEL=info
volumes:
- ./data/navidrome:/data
- ./music:/music:ro
networks:
- traefik_proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.navidrome.rule=Host(`music.brabros.de`)"
- "traefik.http.routers.navidrome.entrypoints=websecure"
- "traefik.http.routers.navidrome.tls.certresolver=myresolver"
- "traefik.http.routers.navidrome.middlewares=authelia@docker"
- "traefik.http.services.navidrome.loadbalancer.server.port=4533"
- "traefik.docker.network=traefik_proxy"