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