caddy-gitea-pages verworfen — dessen URL-Schema ({owner}.{domain}/{repo})
passt nicht für Single-Project-Hosting ohne DNS-Wildcards auf Sub-Sub-
Domains. Stattdessen simples nginx:alpine mit statischem Volume-Mount.
URL: https://docs.toppyr.de/gwoe-antragspruefer/
Der nginx-Container mounted docs-site/ nach
/usr/share/nginx/html/gwoe-antragspruefer/ — Traefik routet alles auf
Host docs.toppyr.de an den Container, nginx served den Pfad 1:1.
Skaliert für weitere Repos: einfach ein zweites Volume-Mount für
/usr/share/nginx/html/anderes-repo/ einrichten.
SSL: Traefik, nicht nginx/caddy.
DNS: *.toppyr.de Wildcard deckt docs.toppyr.de ab.
Update-Workflow:
cd webapp && mkdocs build
scp -r site/* vserver:/opt/gwoe-antragspruefer/docs-site/
Caddyfile.docs entfernt (war caddy-gitea-pages-spezifisch).
Refs: #62
48 lines
1.6 KiB
YAML
48 lines
1.6 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
gwoe-antragspruefer:
|
|
build: .
|
|
container_name: gwoe-antragspruefer
|
|
restart: unless-stopped
|
|
environment:
|
|
- DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY}
|
|
- KEYCLOAK_URL=https://sso.toppyr.de
|
|
- KEYCLOAK_REALM=collaboration
|
|
- KEYCLOAK_CLIENT_ID=gwoe-antragspruefer
|
|
volumes:
|
|
- ./data:/app/data
|
|
- ./reports:/app/reports
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.gwoe.rule=Host(`gwoe.toppyr.de`)"
|
|
- "traefik.http.routers.gwoe.entrypoints=websecure"
|
|
- "traefik.http.routers.gwoe.tls=true"
|
|
- "traefik.http.routers.gwoe.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.gwoe.loadbalancer.server.port=8000"
|
|
networks:
|
|
- collaboration_collaboration
|
|
|
|
# Doku-Hosting (#62 Phase 2): mkdocs-Output als statische Site.
|
|
# URL: https://docs.toppyr.de/gwoe-antragspruefer/
|
|
# Update: mkdocs build && scp -r site/* vserver:/opt/gwoe-antragspruefer/docs-site/
|
|
gwoe-docs:
|
|
image: nginx:alpine
|
|
container_name: gwoe-docs
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./docs-site:/usr/share/nginx/html/gwoe-antragspruefer:ro
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.gwoe-docs.rule=Host(`docs.toppyr.de`)"
|
|
- "traefik.http.routers.gwoe-docs.entrypoints=websecure"
|
|
- "traefik.http.routers.gwoe-docs.tls=true"
|
|
- "traefik.http.routers.gwoe-docs.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.gwoe-docs.loadbalancer.server.port=80"
|
|
networks:
|
|
- collaboration_collaboration
|
|
|
|
networks:
|
|
collaboration_collaboration:
|
|
external: true
|