Compare commits

...

2 Commits

Author SHA1 Message Date
4fb3d3c8a0 Stabilisiere Workflow-Imagepfad auf flfeders/fedeo für Compose-Kompatibilität
Some checks failed
Build and Push Docker Images / verify-docs-sync (push) Successful in 8s
Build and Push Docker Images / build-backend (push) Successful in 14s
Build and Push Docker Images / build-frontend (push) Successful in 14s
Build and Push Docker Images / build-docs (push) Failing after 20s
2026-04-22 14:58:30 +02:00
30dc99e4e0 Integriere Docusaurus in Haupt-Compose mit TLS unter /docs 2026-04-22 14:48:11 +02:00
6 changed files with 52 additions and 40 deletions

View File

@@ -8,8 +8,9 @@ env:
# Wenn du die Gitea-interne Registry nutzt, ist es meist einfach der Hostname deiner Gitea-Instanz.
# Beispiel: gitea.deine-domain.de
REGISTRY_HOST: git.federspiel.tech
# Der Name des Repos (z.B. user/repo)
IMAGE_NAME: ${{ github.repository }}
# Der Name des Repos (z.B. user/repo).
# Explizit in lowercase gesetzt, damit es exakt zu den Compose-Imagepfaden passt.
IMAGE_NAME: flfeders/fedeo
ACTOR: flfeders
jobs:

View File

@@ -17,10 +17,33 @@ services:
- "traefik.http.routers.fedeo-frontend.middlewares=fedeo-frontend-redirect-web-secure"
- "traefik.http.routers.fedeo-frontend.rule=Host(`app.fedeo.de`) && PathPrefix(`/`)"
- "traefik.http.routers.fedeo-frontend.entrypoints=web"
- "traefik.http.routers.fedeo-frontend.priority=1"
# Web Secure Entrypoint
- "traefik.http.routers.fedeo-frontend-secure.rule=Host(`app.fedeo.de`) && PathPrefix(`/`)"
- "traefik.http.routers.fedeo-frontend-secure.entrypoints=web-secured" #
- "traefik.http.routers.fedeo-frontend-secure.tls.certresolver=mytlschallenge"
- "traefik.http.routers.fedeo-frontend-secure.priority=1"
docs:
image: git.federspiel.tech/flfeders/fedeo/docs:dev
restart: always
networks:
- traefik
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.port=80"
# Middlewares
- "traefik.http.middlewares.fedeo-docs-redirect-web-secure.redirectscheme.scheme=https"
# Web Entrypoint
- "traefik.http.routers.fedeo-docs.middlewares=fedeo-docs-redirect-web-secure"
- "traefik.http.routers.fedeo-docs.rule=Host(`app.fedeo.de`) && PathPrefix(`/docs`)"
- "traefik.http.routers.fedeo-docs.entrypoints=web"
- "traefik.http.routers.fedeo-docs.priority=120"
# Web Secure Entrypoint
- "traefik.http.routers.fedeo-docs-secure.rule=Host(`app.fedeo.de`) && PathPrefix(`/docs`)"
- "traefik.http.routers.fedeo-docs-secure.entrypoints=web-secured"
- "traefik.http.routers.fedeo-docs-secure.tls.certresolver=mytlschallenge"
- "traefik.http.routers.fedeo-docs-secure.priority=120"
backend:
image: git.federspiel.tech/flfeders/fedeo/backend:dev
restart: always

View File

@@ -2,6 +2,12 @@
Diese Docusaurus-App rendert die versionierte FEDEO-Dokumentation aus dem Ordner `../docs`.
## Zielpfad in Produktion
Die Seite ist für den Betrieb hinter Traefik unter folgendem Pfad konfiguriert:
- `https://app.fedeo.de/docs`
## Lokale Entwicklung
Im Ordner `docs-site` ausführen:
@@ -20,15 +26,23 @@ npm run build
npm run serve
```
## Deploy mit Docker Compose
## Deploy über Haupt-Compose
Aus dem Projekt-Root:
Die Docs sind in der zentralen `docker-compose.yml` als eigener Service `docs` eingebunden.
Deploy aus dem Projekt-Root:
```bash
docker compose -f docker-compose.docs.yml up -d --build
docker compose pull docs
docker compose up -d docs
```
Standard-Port ist `3205`.
Für ein komplettes Update des gesamten Stacks:
```bash
docker compose pull
docker compose up -d
```
## Workflow bei Funktionsänderungen
@@ -41,11 +55,5 @@ node docs/scripts/sync-funktionsdoku.mjs
```
2. Änderungen committen
3. Docs-Container neu bauen und starten
## Wichtige Platzhalter
Bitte in `docs-site/docusaurus.config.ts` anpassen:
- `url` auf die echte Docs-Domain
- GitHub-Links (`editUrl`, `Repository`)
3. CI baut und pusht das `docs`-Image
4. Server zieht neues Image und startet den Service neu

View File

@@ -5,8 +5,8 @@ const config: Config = {
title: 'FEDEO Docs',
tagline: 'Versionierte Funktionsdokumentation für FEDEO',
url: 'https://docs.example.com',
baseUrl: '/',
url: 'https://app.fedeo.de',
baseUrl: '/docs/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
@@ -22,7 +22,7 @@ const config: Config = {
{
docs: {
path: '../docs',
routeBasePath: 'docs',
routeBasePath: '/',
sidebarPath: './sidebars.ts',
editUrl: 'https://github.com/DEIN-ORG/DEIN-REPO/tree/main/',
},
@@ -59,7 +59,7 @@ const config: Config = {
items: [
{
label: 'Funktionsübersicht',
to: '/docs/funktionen/uebersicht',
to: '/funktionen/uebersicht',
},
],
},

View File

@@ -6,7 +6,7 @@ server {
index index.html;
location / {
try_files $uri $uri/ /index.html;
try_files $uri $uri/ /docs/index.html;
}
location ~* \.(?:css|js|map|jpg|jpeg|gif|png|svg|ico|webp|woff2?)$ {

View File

@@ -1,20 +0,0 @@
import Link from '@docusaurus/Link';
import Layout from '@theme/Layout';
export default function Home(): JSX.Element {
return (
<Layout title="FEDEO Docs" description="Versionierte Funktionsdokumentation für FEDEO">
<main className="heroSection">
<div className="container">
<h1>FEDEO Dokumentation</h1>
<p>Versionierte Anleitung aller Funktionen für Backend, Web und Mobile.</p>
<div className="heroButtons">
<Link className="button button--primary button--lg" to="/docs/funktionen">
Zur Dokumentation
</Link>
</div>
</div>
</main>
</Layout>
);
}