Gitea Deployment auf Proxmox - Vollstaendige Dokumentation

- docker-compose.yml aktualisiert fuer Proxmox Bare Metal
  - Security-Optionen (apparmor/seccomp)
  - Health-Check
  - Resource Limits
  - ROOT_URL fuer externen Zugriff via DuckDNS
- README.md mit Architektur und Quick Start
- TROUBLESHOOTING.md mit Problemloesungen
- nginx-gitea.conf fuer VPS Reverse Proxy

Deployment: https://eckardt-vault.duckdns.org/git/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Martin Eckardt
2025-12-28 16:28:46 +01:00
parent 4bf2207dcf
commit d211bed5e4
4 changed files with 359 additions and 9 deletions

162
README.md Normal file
View File

@@ -0,0 +1,162 @@
# 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