Compare commits

..

16 Commits

15 changed files with 85 additions and 71 deletions

3
.gitignore vendored
View File

@@ -5,5 +5,4 @@ data
db db
# Files # Files
.env .env
users

View File

@@ -44,6 +44,17 @@ services:
- ./data/media:/media - ./data/media:/media
- ./data/templates:/templates - ./data/templates:/templates
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
authentik_proxy:
image: authentik/proxy:2025.10
container_name: authentik_proxy
restart: always
environment:
AUTHENTIK_HOST: https://login.eliasfink.de
AUTHENTIK_TOKEN: ${AUTHENTIK_OUTPOST_TOKEN}
networks:
- default
- traefik
authentik_db: authentik_db:
image: postgres:16 image: postgres:16

View File

@@ -12,6 +12,16 @@ services:
CMD_ALLOW_EMAIL_REGISTER: false CMD_ALLOW_EMAIL_REGISTER: false
CMD_DB_URL: postgres://hedgedoc:${DB_PASSWORD}@hedgedoc_db:5432/hedgedoc CMD_DB_URL: postgres://hedgedoc:${DB_PASSWORD}@hedgedoc_db:5432/hedgedoc
CMD_DOMAIN: pad.eliasfink.de CMD_DOMAIN: pad.eliasfink.de
CMD_OAUTH2_PROVIDERNAME: EFlogin
CMD_OAUTH2_CLIENT_ID: ${OAUTH2_CLIENT_ID}
CMD_OAUTH2_CLIENT_SECRET: ${OAUTH2_CLIENT_SECRET}
CMD_OAUTH2_SCOPE: openid email profile
CMD_OAUTH2_AUTHORIZATION_URL: https://login.eliasfink.de/application/o/authorize/
CMD_OAUTH2_TOKEN_URL: https://login.eliasfink.de/application/o/token/
CMD_OAUTH2_USER_PROFILE_URL: https://login.eliasfink.de/application/o/userinfo/
CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR: name
CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR: email
CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR: preferred_username
CMD_PROTOCOL_USESSL: true CMD_PROTOCOL_USESSL: true
networks: networks:
- default - default

View File

@@ -1,17 +0,0 @@
# /services/home-assistant/compose.yml
services:
home-assistant:
image: homeassistant/home-assistant:2025.7
container_name: home-assistant
restart: always
networks:
- traefik
volumes:
- ./data:/config
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
networks:
traefik:
external: true

View File

@@ -2,7 +2,7 @@
services: services:
nextcloud: nextcloud:
image: nextcloud:31 image: nextcloud:32
container_name: nextcloud container_name: nextcloud
restart: always restart: always
depends_on: depends_on:

View File

@@ -11,20 +11,22 @@ services:
environment: environment:
ENABLE_CONVERSIONS: true ENABLE_CONVERSIONS: true
OVERLEAF_ADMIN_EMAIL: mail@eliasfink.de OVERLEAF_ADMIN_EMAIL: mail@eliasfink.de
OVERLEAF_APP_NAME: EFtex OVERLEAF_APP_NAME: EFlatex
OVERLEAF_RIGHT_FOOTER: '[{"text": "Datenschutz", "url" : "https://privacy.eliasfink.de"}]'
OVERLEAF_EMAIL_FROM_ADDRESS: no-reply@eliasfink.de OVERLEAF_EMAIL_FROM_ADDRESS: no-reply@eliasfink.de
OVERLEAF_EMAIL_SMTP_HOST: mxe92f.netcup.net OVERLEAF_EMAIL_SMTP_HOST: mxe92f.netcup.net
OVERLEAF_EMAIL_SMTP_PORT: 465
OVERLEAF_EMAIL_SMTP_SECURE: true
OVERLEAF_EMAIL_SMTP_USER: no-reply@eliasfink.de OVERLEAF_EMAIL_SMTP_USER: no-reply@eliasfink.de
OVERLEAF_EMAIL_SMTP_PASS: ${EMAIL_PASSWORD} OVERLEAF_EMAIL_SMTP_PASS: ${EMAIL_PASSWORD}
OVERLEAF_EMAIL_SMTP_PORT: 465
OVERLEAF_EMAIL_SMTP_SECURE: true
OVERLEAF_HEADER_IMAGE_URL: https://static.eliasfink.de/img/logo/logo.svg OVERLEAF_HEADER_IMAGE_URL: https://static.eliasfink.de/img/logo/logo.svg
OVERLEAF_MONGO_URL: mongodb://overleaf_db/overleaf OVERLEAF_MONGO_URL: mongodb://overleaf_db/overleaf
OVERLEAF_REDIS_HOST: overleaf_redis OVERLEAF_REDIS_HOST: overleaf_redis
OVERLEAF_RIGHT_FOOTER: '[{"text": "Datenschutz", "url" : "https://privacy.eliasfink.de"}]'
OVERLEAF_SITE_LANGUAGE: de OVERLEAF_SITE_LANGUAGE: de
OVERLEAF_SITE_URL: https://tex.eliasfink.de OVERLEAF_SITE_URL: https://latex.eliasfink.de
REDIS_HOST: overleaf_redis REDIS_HOST: overleaf_redis
labels:
- com.centurylinklabs.watchtower.enable=false
networks: networks:
- default - default
- traefik - traefik
@@ -49,7 +51,8 @@ services:
networks: networks:
- default - default
volumes: volumes:
- ./db:/data/db - ./db/config:/data/configdb
- ./db/data:/data/db
- ./config/mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js - ./config/mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
overleaf_redis: overleaf_redis:

View File

@@ -1,16 +0,0 @@
# /services/traefik/config/dashboard/dashboard.yml
http:
routers:
traefik:
entryPoints:
- https
rule: Host(`traefik.eliasfink.de`)
middlewares:
- traefik-dashboard-auth
service: api@internal
middlewares:
traefik-dashboard-auth:
digestAuth:
usersFile: /etc/traefik/config/dashboard/users

View File

@@ -1,4 +1,4 @@
# /services/traefik/config/home-redirection.yml # /services/traefik/config/middlewares/home-redirection.yml
http: http:
routers: routers:

View File

@@ -0,0 +1,30 @@
# /services/traefik/config/middlewares/dashboard.yml
http:
routers:
traefik:
entryPoints:
- https
rule: Host(`traefik.eliasfink.de`)
middlewares:
- traefik-dashboard-auth
service: api@internal
middlewares:
traefik-dashboard-auth:
forwardAuth:
address: http://authentik_proxy:9000/outpost.goauthentik.io/auth/traefik
trustForwardHeader: true
authResponseHeaders:
- X-authentik-username
- X-authentik-groups
- X-authentik-entitlements
- X-authentik-email
- X-authentik-name
- X-authentik-uid
- X-authentik-jwt
- X-authentik-meta-jwks
- X-authentik-meta-outpost
- X-authentik-meta-provider
- X-authentik-meta-app
- X-authentik-meta-version

View File

@@ -2,14 +2,23 @@
http: http:
routers: routers:
auth: login:
entryPoints: entryPoints:
- https - https
rule: Host(`auth.eliasfink.de`) rule: Host(`login.eliasfink.de`)
service: authentik service: authentik
login_outpost:
entryPoints:
- https
rule: Host(`login.eliasfink.de`) && PathPrefix(`/outpost.goauthentik.io/`)
service: authentik_proxy
services: services:
authentik: authentik:
loadBalancer: loadBalancer:
servers: servers:
- url: http://authentik_server:9000 - url: http://authentik_server:9000
authentik_proxy:
loadBalancer:
servers:
- url: http://authentik_proxy:9000

View File

@@ -1,15 +0,0 @@
# /services/traefik/config/services/home-assistant.yml
http:
routers:
smarthome:
entryPoints:
- https
rule: Host(`smarthome.eliasfink.de`)
service: home-assistant
services:
home-assistant:
loadBalancer:
servers:
- url: http://home-assistant:8123

View File

@@ -2,10 +2,10 @@
http: http:
routers: routers:
tex: latex:
entryPoints: entryPoints:
- https - https
rule: Host(`tex.eliasfink.de`) rule: Host(`latex.eliasfink.de`)
service: overleaf service: overleaf
services: services:

View File

@@ -6,10 +6,10 @@ http:
entryPoints: entryPoints:
- https - https
rule: Host(`status.eliasfink.de`) rule: Host(`status.eliasfink.de`)
service: uptime-kuma service: authentik_proxy
services: # services:
uptime-kuma: # uptime-kuma:
loadBalancer: # loadBalancer:
servers: # servers:
- url: http://uptime-kuma:3001 # - url: http://uptime-kuma:3001

View File

@@ -2,7 +2,7 @@
services: services:
uptime-kuma: uptime-kuma:
image: louislam/uptime-kuma:1 image: louislam/uptime-kuma:2
container_name: uptime-kuma container_name: uptime-kuma
restart: always restart: always
networks: networks:

View File

@@ -2,7 +2,7 @@
services: services:
watchtower: watchtower:
image: containrrr/watchtower:arm64v8-latest image: nickfedor/watchtower:latest
container_name: watchtower container_name: watchtower
restart: always restart: always
command: command: