- 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>
163 lines
3.2 KiB
Markdown
163 lines
3.2 KiB
Markdown
# 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
|