Basis aus 2nd-brain für LPIC-Prüfungsvorbereitung übernommen

Regeln, Standards, Kontextstruktur und Werkzeuge übernommen; 2nd-brain-
Inhalte (Stacks, Ansible-Inventar, Architektur, Knowledge) entfernt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Björn RundenandClaude Opus 5.5 committed 2026-10-29 21:56:53 +01:00
commit 7f6b8ebe07
70 files changed
+2816

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
# --- Stack ---
COMPOSE_PROJECT_NAME=<stack> # nur a-z, 0-9, _ – kein Bindestrich (GELF-Tag)
APP_TAG=<version>
# --- Logging (Graylog) ---
GELF_HOST=<GELF_HOST>
GELF_PORT=12201
# --- Traefik (Defaults: traefik-net / le – nur bei Abweichung setzen) ---
TRAEFIK_ENABLE=false # erst auf true, wenn Stack sauber läuft (LE-Limits!)
APP_FQDN=<app.domain.tld>
APP_INTERNAL_PORT=<port>
#TRAEFIK_NETWORK=traefik-net
#TRAEFIK_CERTRESOLVER=le
# --- Hosts ---
EXTRA_HOST_1=<fqdn>:<ip>
# --- Pfade (Bind-Mounts, relativ zum Stack) ---
DIR_DATA=./data
DIR_CONFIG=./config
# --- Image-spezifische Variablen (laut Orig-Doku, s. README) ---
+29
View File
@@ -0,0 +1,29 @@
# <stack>
> @author <AUTOR> · @owner <VERANTWORTLICH> · Stand TT.MM.JJJJ
## 1. Zweck und Zugriff
<Was der Stack tut> · FQDN: `<app.domain.tld>` · Port: <…>
## 2. Original-Doku
| Quelle | URL | Abgerufen |
|---|---|---|
| Image | <Docker Hub / GHCR> | TT.MM.JJJJ |
| Hersteller | <Doku-URL> | TT.MM.JJJJ |
## 3. ENV-Variablen laut Original-Doku
| Variable | Bedeutung | Default | gesetzt in .env? |
|---|---|---|---|
| | | | |
## 4. Volumes/Pfade
| Container-Pfad | Zweck | Bind-Mount (`.env`) |
|---|---|---|
| | | `DIR_DATA` |
## 5. Ports und Healthcheck
- intern: <…>, extern: <… oder nur Traefik>
- Healthcheck: `<endpunkt>` – Begründung: <…>
## 6. Besonderheiten
- <Capabilities, Init-/Unseal-Schritte, Update-Hinweise, Abweichungen vom Standard>
@@ -0,0 +1,48 @@
#-------------------------------------------------------------------------------
## @file docker-compose.yml
## @brief <Stack-Zweck in einem Satz>
## @author <AUTOR – aus ai/context/responsible.md>
## @owner <VERANTWORTLICH – aus ai/context/responsible.md>
## @version 0.1.0 (TT.MM.JJJJ)
## @usage docker compose up -d (im Stack-Verzeichnis, .env aus .env.example)
#-------------------------------------------------------------------------------
x-logging: &default-logging
driver: gelf
options:
gelf-address: "udp://${GELF_HOST}:${GELF_PORT}"
tag: "${COMPOSE_PROJECT_NAME}"
labels: "com.docker.compose.project,com.docker.compose.service"
services:
app:
image: <hersteller>/<image>:${APP_TAG}
container_name: ${COMPOSE_PROJECT_NAME}
restart: unless-stopped
env_file: .env
# ports: nur wenn Zugriff ohne Traefik nötig ist
# - "${APP_PORT}:<intern>"
extra_hosts: # nur wenn benötigt; ein Eintrag je Variable
- "${EXTRA_HOST_1}"
volumes:
- ${DIR_DATA}:/<pfad-im-container>
- ${DIR_CONFIG}:/<config-pfad>:ro
networks:
- proxy
labels: # Traefik bleibt aus, bis TRAEFIK_ENABLE=true
- "traefik.enable=${TRAEFIK_ENABLE:-false}"
- "traefik.docker.network=${TRAEFIK_NETWORK:-traefik-net}"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME}.rule=Host(`${APP_FQDN:-${COMPOSE_PROJECT_NAME}.invalid}`)"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME}.tls.certresolver=${TRAEFIK_CERTRESOLVER:-le}"
- "traefik.http.services.${COMPOSE_PROJECT_NAME}.loadbalancer.server.port=${APP_INTERNAL_PORT:-80}"
logging: *default-logging
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:<intern>/<pfad>"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
networks:
proxy:
name: ${TRAEFIK_NETWORK:-traefik-net}
external: true