stack: provisionierbar machen
- Projektname thread-net-git fest in der Compose (name:) -- Volume-Bezug - gitea auf 1.27.0 gepinnt (Ist-Stand; :latest war unkontrolliert) - gitea-data als external deklariert: Compose kann die Produktivdaten weder anlegen noch loeschen - letsencrypt vom Portainer-Bind ./letsencrypt auf Named Volume umgestellt - cadvisor aufgenommen (lief bisher ausserhalb der Compose-Definition) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
.env
|
||||||
|
runner-data/
|
||||||
+41
-2
@@ -1,3 +1,12 @@
|
|||||||
|
# Stack "thread-net-git" (CFGMON): Traefik + Gitea + cAdvisor.
|
||||||
|
# Abgeloest aus Portainer (Stack-ID 8) am 2026-07-30.
|
||||||
|
#
|
||||||
|
# WICHTIG: Der Compose-Projektname MUSS "thread-net-git" bleiben (siehe
|
||||||
|
# "name:" unten), sonst findet Compose das bestehende Gitea-Datenvolumen
|
||||||
|
# nicht und die Traefik/Portainer-Historie bricht. Deploy immer aus diesem
|
||||||
|
# Verzeichnis: docker compose up -d
|
||||||
|
name: thread-net-git
|
||||||
|
|
||||||
services:
|
services:
|
||||||
reverse-proxy: #lol
|
reverse-proxy: #lol
|
||||||
image: traefik:v3.7.9
|
image: traefik:v3.7.9
|
||||||
@@ -24,11 +33,20 @@ services:
|
|||||||
- "443:443"
|
- "443:443"
|
||||||
volumes:
|
volumes:
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||||
- "./letsencrypt:/letsencrypt"
|
# Named Volume statt frueherem Portainer-Bind ./letsencrypt: enthaelt
|
||||||
|
# acme.json (LE-Account + Zertifikate rohana/selendis). Verlust erzwingt
|
||||||
|
# eine Neuausstellung, die an der Firewall scheitert (80/443 nur fuer
|
||||||
|
# die User-IP offen) -- Volume niemals loeschen. Befuellung beim
|
||||||
|
# Erst-Deploy: siehe README.
|
||||||
|
- letsencrypt:/letsencrypt
|
||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
|
|
||||||
gitea:
|
gitea:
|
||||||
image: gitea/gitea:latest
|
# Gepinnt statt :latest (Ist-Stand der Migration). NIEMALS auf eine
|
||||||
|
# aeltere Version wechseln -- die SQLite-DB kennt kein Downgrade.
|
||||||
|
image: gitea/gitea:1.27.0
|
||||||
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
- USER_UID=1000
|
- USER_UID=1000
|
||||||
- USER_GID=1000
|
- USER_GID=1000
|
||||||
@@ -44,7 +62,21 @@ services:
|
|||||||
- traefik.http.services.gitea.loadbalancer.server.port=3000
|
- traefik.http.services.gitea.loadbalancer.server.port=3000
|
||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
|
|
||||||
|
cadvisor:
|
||||||
|
# Stand vorher NICHT in der Portainer-Compose (war manuell in den Stack
|
||||||
|
# gehaengt). Prometheus (monitoring-Stack) scrapt "cadvisor:8080" ueber
|
||||||
|
# das gemeinsame traefik-Netz -- container_name daher fest.
|
||||||
|
image: gcr.io/cadvisor/cadvisor:v0.49.1
|
||||||
|
container_name: cadvisor
|
||||||
restart: always
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- /:/rootfs:ro
|
||||||
|
- /var/run:/var/run:ro
|
||||||
|
- /sys:/sys:ro
|
||||||
|
- /var/lib/docker/:/var/lib/docker:ro
|
||||||
|
networks:
|
||||||
|
- traefik
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
traefik:
|
traefik:
|
||||||
@@ -52,4 +84,11 @@ networks:
|
|||||||
default:
|
default:
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
|
# Produktivdaten (Repos, SQLite-DB, LFS, Packages, SSH-Hostkeys).
|
||||||
|
# external, damit Compose das Volume weder anlegen noch loeschen kann:
|
||||||
|
# ein Deploy mit falschem Projektnamen schlaegt laut fehl, statt leise
|
||||||
|
# ein leeres Volume zu erzeugen.
|
||||||
gitea-data:
|
gitea-data:
|
||||||
|
external: true
|
||||||
|
name: thread-net-git_gitea-data
|
||||||
|
letsencrypt:
|
||||||
|
|||||||
Reference in New Issue
Block a user