- Unified plugin application across modules using `alias(libs.plugins.*)` instead of hardcoded IDs. - Removed redundant JVM/JS source map tasks, improving Gradle and Docker build consistency. - Updated dependencies, including `logback` and Webpack `copy-webpack-plugin`, and added contextual documentation. - Added frontend architecture diagram in PlantUML (`docs/01_Architecture/Reference`), standardizing feature-core-shell dependencies.
4.7 KiB
🏗️ Journal: Infrastructure Setup & CI/CD Planning
Datum: 04.02.2026 Autor: DevOps Engineer & Curator (AI) Status: 🚧 In Progress (Paused due to technical issues)
Zusammenfassung
Nach der erfolgreichen Verifikation des ping-service wurde mit der Planung und Einrichtung der CI/CD-Infrastruktur begonnen. Die Entscheidung fiel auf eine Self-Hosted Lösung (Gitea + Gitea Runner) auf dem vorhandenen Proxmox-Server, angebunden via Cloudflare Tunnel für sicheren Zugriff ohne Portfreigaben.
1. Cloudflare Bereinigung (Erledigt ✅)
Ziel war es, die Domain mo-code.at für den Tunnel vorzubereiten, ohne den Mail-Empfang zu stören.
Durchgeführte Schritte:
- Login: Cloudflare Dashboard -> Domain
mo-code.at-> DNS -> Records. - Gelöscht:
A | mo-code.at | 81.19.145.155A | www | 81.19.145.155A | ftp | 81.19.145.155
- Behalten & Korrigiert (Mail):
A | mail | 81.19.149.91-> Proxy Status auf "DNS Only" (Grau) gesetzt.CNAME | imap | imap.world4you.com-> Proxy Status auf "DNS Only" (Grau) gesetzt.MXundTXTRecords wurden unverändert gelassen.
2. Proxmox Docker-Host Setup (Anleitung)
Diese Anleitung dient zur Wiederherstellung/Neuinstallation der VM, falls Probleme auftreten.
Vorbereitung: ISO Download
- Proxmox GUI ->
localStorage ->ISO Images. - Download from URL:
https://releases.ubuntu.com/24.04.1/ubuntu-24.04.1-live-server-amd64.iso - Warten bis Download fertig.
Schritt A: VM Erstellen (Klick-für-Klick)
- Create VM (Button oben rechts).
- General:
- Name:
docker-host - VM ID: (Standard lassen, z.B. 100)
- Name:
- OS:
- ISO image:
ubuntu-24.04.1...iso - Type: Linux / 6.x - 2.6 Kernel
- ISO image:
- System:
- Graphics/Machine/BIOS: Standard lassen.
- Qemu Agent: ✅ Aktivieren (Häkchen setzen).
- Disks:
- Storage:
local-lvm - Disk size: 100 GiB
- SSD emulation: ✅ Aktivieren.
- Discard: ✅ Aktivieren.
- Storage:
- CPU:
- Sockets: 1
- Cores: 4
- Type: host (Wichtig für Performance!).
- Memory:
- Memory: 8192 (8 GB).
- Ballooning: ✅ Aktivieren.
- Network:
- Bridge:
vmbr0 - Model:
VirtIO
- Bridge:
- Confirm -> Finish.
Schritt B: Ubuntu Installation
- VM starten -> Console.
- Sprache: English.
- Installer Update: "Update to the new installer" (falls gefragt).
- Keyboard: German.
- Base: Ubuntu Server (minimized optional, Standard empfohlen).
- Network: DHCP lassen.
- Storage: "Use an entire disk" -> Standard lassen -> Done.
- Profile:
- Name:
Stefan - Server name:
docker-host - Username:
stefan - Password: (Merken!)
- Name:
- SSH Setup: [X] Install OpenSSH server (Mit Leertaste auswählen).
- Snaps: NICHTS auswählen (kein Docker, kein MicroK8s).
- Installieren & Reboot.
Schritt C: Docker Installation (via Terminal/SSH)
Verbinde dich von deinem PC aus: ssh stefan@<VM-IP>
# 1. System aktualisieren & QEMU Agent sicherstellen
sudo apt update && sudo apt upgrade -y
sudo apt install -y qemu-guest-agent
sudo systemctl enable --now qemu-guest-agent
# 2. Docker Installations-Script laden & ausführen
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 3. User zur Docker-Gruppe hinzufügen (Wichtig!)
sudo usermod -aG docker $USER
# 4. Neustart, damit Rechte greifen
sudo reboot
Schritt D: Test
Nach dem Neustart wieder einloggen:
docker run hello-world
Sollte "Hello from Docker!" ausgeben.
3. Ausblick: Nächste Schritte (DevOps Stack)
Sobald der Docker-Host läuft, werden wir folgende docker-compose.yml (Entwurf) verwenden, um Gitea und Cloudflare Tunnel zu starten:
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
volumes:
- ./gitea_data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:22"
restart: always
tunnel:
image: cloudflare/cloudflared:latest
container_name: cloudflared
restart: always
command: tunnel run
environment:
- TUNNEL_TOKEN=<WIRD_GENERIERT>
Troubleshooting Tipps (Installation bricht ab)
- ISO Check: Prüfe die Checksumme des ISOs oder lade es neu herunter.
- RAM: Versuche es testweise mit 4 GB statt 8 GB.
- Disk: Prüfe im Proxmox Storage, ob wirklich genug Platz auf
local-lvmfrei ist. - Console: Beobachte die Fehlermeldung in der Proxmox-Konsole genau (oft I/O Errors).