Files
Brancheneinstufung2/docs/umzug.md

3.2 KiB

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:
      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):
    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.