# Gitea on Proxmox Self-hosted Git Repository Server auf Proxmox VE. ## Status | Service | URL | Status | |---------|-----|--------| | Web UI (extern) | https://eckardt-vault.duckdns.org/git/ | Aktiv | | Web UI (intern) | http://192.168.178.111:3000 | Aktiv | | Git SSH | ssh://git@192.168.178.111:2222 | Aktiv | ## Architektur ``` Internet | v [Windows VPS: 217.154.65.205] - nginx Reverse Proxy - SSL (Let's Encrypt) - Route: /git/ -> 10.0.0.2:3000 | | WireGuard (10.0.0.0/24) v [Proxmox: 192.168.178.111 / 10.0.0.2] - Docker Container: gitea - Port 3000 (Web) - Port 2222 (SSH) ``` ## Deployment ### Voraussetzungen - Proxmox VE Server mit Docker - WireGuard Tunnel zum VPS (fuer externen Zugriff) - nginx auf VPS konfiguriert ### Quick Start ```bash # Auf Proxmox Server mkdir -p /opt/docker/gitea cd /opt/docker/gitea # docker-compose.yml kopieren (aus diesem Repo) # Dann starten: docker compose up -d ``` ### Ersteinrichtung 1. Browser oeffnen: http://192.168.178.111:3000 2. Datenbanktyp: **SQLite3** auswaehlen 3. Admin-Account erstellen 4. Fertig! ## Dateien ``` proxmox-gitea/ ├── docker/ │ └── docker-compose.yml # Docker Compose Konfiguration ├── scripts/ │ ├── setup.sh # Installations-Script │ └── backup.sh # Backup-Script ├── docs/ │ ├── INSTALL.md # Detaillierte Installationsanleitung │ └── TROUBLESHOOTING.md # Problemloesungen ├── configs/ │ └── nginx-gitea.conf # nginx Konfiguration fuer VPS └── README.md # Diese Datei ``` ## Troubleshooting Bei Problemen siehe [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) fuer: - Container startet nicht - Permission denied auf Proxmox - Externer Zugriff funktioniert nicht - SSH Clone Probleme - Backup Fehler ## Konfiguration ### docker-compose.yml Wichtige Einstellungen: | Variable | Wert | Beschreibung | |----------|------|--------------| | ROOT_URL | https://eckardt-vault.duckdns.org/git/ | Externe URL | | SSH_DOMAIN | 192.168.178.111 | SSH Host | | SSH_PORT | 2222 | Git SSH Port | | DB_TYPE | sqlite3 | Datenbank | ### Proxmox-spezifisch Fuer Bare Metal Proxmox sind diese security_opt erforderlich: ```yaml security_opt: - apparmor=unconfined - seccomp=unconfined ``` ## Backup Automatisches Backup taeglich um 03:00 Uhr: ```bash # Manuell ausfuehren /opt/gitea/backup.sh # Backup-Verzeichnis ls -la /opt/gitea-backups/ ``` ## Wartung ```bash # Status pruefen docker ps | grep gitea # Logs anzeigen docker logs gitea -f # Update cd /opt/docker/gitea docker compose pull docker compose up -d # Neustart docker compose restart gitea ``` ## Repository verbinden ### Neues Repo klonen ```bash git clone https://eckardt-vault.duckdns.org/git/USER/REPO.git # Oder via SSH (intern) git clone ssh://git@192.168.178.111:2222/USER/REPO.git ``` ### Bestehendes Repo pushen ```bash cd mein-projekt git remote add origin https://eckardt-vault.duckdns.org/git/USER/REPO.git git push -u origin main ``` ## Changelog ### 2024-12-28 - Initial Deployment auf Proxmox 192.168.178.111 - Externer Zugriff via DuckDNS konfiguriert - Health-Check und Resource Limits hinzugefuegt