feat(infra): füge restliche core-, orga- und media-stacks hinzu
This commit is contained in:
@@ -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"
|
||||||
@@ -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"
|
||||||
@@ -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"
|
||||||
@@ -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"
|
||||||
@@ -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"
|
||||||
Reference in New Issue
Block a user