# 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.