Integriere Docusaurus in Haupt-Compose mit TLS unter /docs
This commit is contained in:
@@ -17,10 +17,33 @@ services:
|
|||||||
- "traefik.http.routers.fedeo-frontend.middlewares=fedeo-frontend-redirect-web-secure"
|
- "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.rule=Host(`app.fedeo.de`) && PathPrefix(`/`)"
|
||||||
- "traefik.http.routers.fedeo-frontend.entrypoints=web"
|
- "traefik.http.routers.fedeo-frontend.entrypoints=web"
|
||||||
|
- "traefik.http.routers.fedeo-frontend.priority=1"
|
||||||
# Web Secure Entrypoint
|
# Web Secure Entrypoint
|
||||||
- "traefik.http.routers.fedeo-frontend-secure.rule=Host(`app.fedeo.de`) && PathPrefix(`/`)"
|
- "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.entrypoints=web-secured" #
|
||||||
- "traefik.http.routers.fedeo-frontend-secure.tls.certresolver=mytlschallenge"
|
- "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:
|
backend:
|
||||||
image: git.federspiel.tech/flfeders/fedeo/backend:dev
|
image: git.federspiel.tech/flfeders/fedeo/backend:dev
|
||||||
restart: always
|
restart: always
|
||||||
|
|||||||
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
Diese Docusaurus-App rendert die versionierte FEDEO-Dokumentation aus dem Ordner `../docs`.
|
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
|
## Lokale Entwicklung
|
||||||
|
|
||||||
Im Ordner `docs-site` ausführen:
|
Im Ordner `docs-site` ausführen:
|
||||||
@@ -20,15 +26,23 @@ npm run build
|
|||||||
npm run serve
|
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
|
```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
|
## Workflow bei Funktionsänderungen
|
||||||
|
|
||||||
@@ -41,11 +55,5 @@ node docs/scripts/sync-funktionsdoku.mjs
|
|||||||
```
|
```
|
||||||
|
|
||||||
2. Änderungen committen
|
2. Änderungen committen
|
||||||
3. Docs-Container neu bauen und starten
|
3. CI baut und pusht das `docs`-Image
|
||||||
|
4. Server zieht neues Image und startet den Service neu
|
||||||
## Wichtige Platzhalter
|
|
||||||
|
|
||||||
Bitte in `docs-site/docusaurus.config.ts` anpassen:
|
|
||||||
|
|
||||||
- `url` auf die echte Docs-Domain
|
|
||||||
- GitHub-Links (`editUrl`, `Repository`)
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ const config: Config = {
|
|||||||
title: 'FEDEO Docs',
|
title: 'FEDEO Docs',
|
||||||
tagline: 'Versionierte Funktionsdokumentation für FEDEO',
|
tagline: 'Versionierte Funktionsdokumentation für FEDEO',
|
||||||
|
|
||||||
url: 'https://docs.example.com',
|
url: 'https://app.fedeo.de',
|
||||||
baseUrl: '/',
|
baseUrl: '/docs/',
|
||||||
|
|
||||||
onBrokenLinks: 'throw',
|
onBrokenLinks: 'throw',
|
||||||
onBrokenMarkdownLinks: 'warn',
|
onBrokenMarkdownLinks: 'warn',
|
||||||
@@ -22,7 +22,7 @@ const config: Config = {
|
|||||||
{
|
{
|
||||||
docs: {
|
docs: {
|
||||||
path: '../docs',
|
path: '../docs',
|
||||||
routeBasePath: 'docs',
|
routeBasePath: '/',
|
||||||
sidebarPath: './sidebars.ts',
|
sidebarPath: './sidebars.ts',
|
||||||
editUrl: 'https://github.com/DEIN-ORG/DEIN-REPO/tree/main/',
|
editUrl: 'https://github.com/DEIN-ORG/DEIN-REPO/tree/main/',
|
||||||
},
|
},
|
||||||
@@ -59,7 +59,7 @@ const config: Config = {
|
|||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
label: 'Funktionsübersicht',
|
label: 'Funktionsübersicht',
|
||||||
to: '/docs/funktionen/uebersicht',
|
to: '/funktionen/uebersicht',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ server {
|
|||||||
index index.html;
|
index index.html;
|
||||||
|
|
||||||
location / {
|
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?)$ {
|
location ~* \.(?:css|js|map|jpg|jpeg|gif|png|svg|ico|webp|woff2?)$ {
|
||||||
|
|||||||
@@ -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>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user