From 05c377b40ed5433eb1a781b844ed9e985d60376d Mon Sep 17 00:00:00 2001 From: Floke Date: Tue, 10 Feb 2026 15:36:59 +0000 Subject: [PATCH] [30388f42] Doc: Migration steps for docker1 setup (Gitea & Gemini CLI) --- umzug.md | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 umzug.md diff --git a/umzug.md b/umzug.md new file mode 100644 index 00000000..9873e030 --- /dev/null +++ b/umzug.md @@ -0,0 +1,87 @@ +# Migration Report: Setup on docker1 (Ubuntu 24.04) + +**Datum:** 10.02.2026 +**Ziel:** Einrichtung einer sauberen Entwicklungsumgebung ("Greenfield") auf der neuen VM `docker1` (10.10.81.2). + +## 1. System- & Docker-Konfiguration + +Vor der Installation der Anwendungen mussten grundlegende Systemanpassungen vorgenommen werden, um Docker auf Ubuntu 24.04 lauffähig zu machen. + +* **Docker-Rechte:** Der Benutzer wurde der Gruppe `docker` hinzugefügt (`sudo usermod -aG docker $USER`), um `sudo` für Docker-Befehle zu vermeiden. +* **DNS-Fix:** Es gab massive Probleme mit der DNS-Auflösung innerhalb von Docker-Containern (Konflikt mit `systemd-resolved` und Stub-Resolver auf `127.0.0.53`). + * *Lösung:* `systemd-resolved` wurde deaktiviert und `/etc/resolv.conf` wurde manuell auf Google DNS (`8.8.8.8`) gesetzt. + * *Befehle:* + ```bash + sudo systemctl stop systemd-resolved + sudo systemctl disable systemd-resolved + sudo rm /etc/resolv.conf + echo -e 'nameserver 8.8.8.8\nnameserver 8.8.4.4' | sudo tee /etc/resolv.conf + sudo systemctl restart docker + ``` + +## 2. Gitea Installation (Docker Compose) + +Gitea wurde als zentrale Versionsverwaltung eingerichtet. + +* **Methode:** Docker Compose mit PostgreSQL. +* **Herausforderung:** Die automatische Admin-Erstellung über Umgebungsvariablen (`GITEA__admin__...`) schlug fehl (Race Condition oder Image-Bug). +* **Lösung:** Manuelle Installation über das Web-Interface. +* **Konfiguration (`docker-compose.yml`):** + ```yaml + version: "3" + services: + db: + image: postgres:16 + restart: always + environment: + POSTGRES_USER: gitea + POSTGRES_PASSWORD: 'secure_password' + POSTGRES_DB: gitea + volumes: + - ./postgres:/var/lib/postgresql/data + networks: + - gitea-network + healthcheck: + test: ["CMD-SHELL", "pg_isready -U gitea -d gitea"] + interval: 5s + timeout: 5s + retries: 5 + + gitea: + image: gitea/gitea:1.21 + restart: always + networks: + - gitea-network + ports: + - "3000:3000" + - "2222:22" + volumes: + - ./gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + depends_on: + db: + condition: service_healthy + + networks: + gitea-network: + external: false + ``` +* **Zugriff:** `http://10.10.81.2:3000` + +## 3. Gemini CLI Umgebung + +Die Gemini CLI wurde nicht nativ installiert, sondern als isolierte Docker-Umgebung eingerichtet, um Konsistenz zu gewährleisten. + +* **Ansatz:** Custom Docker Image (`gemini-dev-env`) gesteuert durch ein Shell-Skript (`startgemini.sh`). +* **Dateien:* + * `gemini.Dockerfile`: Basiert auf `node:20-slim`, installiert Python, Git und `@google/gemini-cli`. + * `startgemini.sh`: Baut das Image (falls nötig) und startet den Container mit gemountetem Projektverzeichnis. + * `.env`: Enthält den `GEMINI_API_KEY`. +* **Workflow:* + 1. Dateien manuell erstellt. + 2. `chmod +x startgemini.sh` + 3. Start via `./startgemini.sh` -> Startet interaktive Session im Container. + +## Status +✅ System ist bereit. Gitea läuft, Gemini CLI ist einsatzbereit.