- Added VT-x BIOS requirement to INSTALL.md - Added VT-x/KVM troubleshooting section with HP Z2 specific instructions - Updated changelog: VT-x enabled, VM 100 prepared 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.0 KiB
5.0 KiB
Proxmox Infrastruktur
Self-Hosted Services auf Proxmox VE mit Docker.
Architektur
Internet
|
v
[Windows VPS: 217.154.65.205]
- nginx Reverse Proxy
- SSL (Let's Encrypt via win-acme)
- WireGuard Server
|
| WireGuard Tunnel (10.0.0.0/24)
v
[Proxmox: 192.168.178.111 / 10.0.0.2]
- Docker Host
- Alle Services als Container
Services
| Service | Port | URL (Extern) | Beschreibung |
|---|---|---|---|
| Nextcloud | 8081 | eckardt-cloud.duckdns.org | Cloud Storage |
| Vaultwarden | 8083 | eckardt-vault.duckdns.org/vault/ | Passwort Manager |
| n8n | 5678 | eckardt-vault.duckdns.org/n8n/ | Workflow Automation |
| Gitea | 3000 | eckardt-git.duckdns.org | Git Repository |
| Websites | 8082 | eckardt-vault.duckdns.org | Statische Websites |
| API | 8000 | eckardt-vault.duckdns.org/api/ | FastAPI Backend |
| Netdata | 19999 | eckardt-monitoring.duckdns.org | System Monitoring |
| Audiobookshelf | 13378 | (intern) | Audiobook Server |
Quick Start
Voraussetzungen
- Proxmox VE oder Debian/Ubuntu mit Docker
- WireGuard fuer externen Zugriff
- Min. 4GB RAM, 50GB Speicher
Installation
# Repository klonen
git clone https://eckardt-git.duckdns.org/Martin/proxmox-infrastruktur.git
cd proxmox-infrastruktur
# Environment-Variablen konfigurieren
cp docker/.env.template docker/.env
nano docker/.env # Passwoerter anpassen!
# Deployment starten
sudo ./scripts/deploy.sh
Verzeichnisstruktur
proxmox-infrastruktur/
├── docker/
│ ├── docker-compose.yml # Haupt-Konfiguration
│ ├── .env.template # Environment Template
│ └── .gitignore # Secrets ausschliessen
├── configs/
│ ├── nginx/
│ │ └── nginx.conf # VPS Reverse Proxy
│ └── wireguard/
│ └── wg0.conf.template # WireGuard Template
├── scripts/
│ ├── deploy.sh # Installations-Script
│ ├── backup.sh # Backup-Script
│ └── health-check.sh # Health-Check Script
├── docs/
│ ├── INSTALL.md # Detaillierte Installation
│ └── TROUBLESHOOTING.md # Problemloesungen
└── README.md # Diese Datei
Wartung
Health Check
# Alle Services pruefen
/opt/scripts/health-check.sh
# Einzelnen Container pruefen
docker inspect --format='{{.State.Health.Status}}' nextcloud
Backup
# Vollstaendiges Backup
/opt/scripts/backup.sh all
# Einzelner Service
/opt/scripts/backup.sh nextcloud
# Automatisches Backup (crontab -e)
0 3 * * * /opt/scripts/backup.sh all >> /var/log/backup.log 2>&1
Updates
cd /opt/docker
# Alle Container aktualisieren
docker compose pull
docker compose up -d
# Einzelnen Container aktualisieren
docker compose pull nextcloud
docker compose up -d nextcloud
Logs
# Alle Container
docker compose logs -f
# Einzelner Container
docker logs -f nextcloud
# Letzte 100 Zeilen
docker logs --tail 100 nextcloud
Sicherheit
Implementierte Massnahmen
- Isolierte Netzwerke: Jeder Service hat sein eigenes Docker-Netzwerk
- Resource Limits: CPU und Memory Limits pro Container
- Health Checks: Automatische Ueberwachung aller Services
- Rate Limiting: nginx begrenzt Anfragen pro IP
- TLS 1.2+: Nur sichere Verschluesselung
- Security Headers: X-Frame-Options, X-Content-Type-Options, etc.
Zu beachten
.envDatei NIEMALS committen- Admin-Tokens regelmaessig rotieren
- Backups extern speichern
- Updates zeitnah einspielen
Netzwerk
WireGuard Tunnel
VPS (Server) Proxmox (Client)
10.0.0.1 <--> 10.0.0.2
217.154.65.205 192.168.178.111
Ports
| Port | Service | Zugriff |
|---|---|---|
| 51820/UDP | WireGuard | VPS extern |
| 80 | nginx HTTP | VPS extern |
| 443 | nginx HTTPS | VPS extern |
| 3000 | Gitea Web | Proxmox intern |
| 2222 | Gitea SSH | Proxmox intern |
Troubleshooting
Siehe docs/TROUBLESHOOTING.md fuer:
- Container startet nicht
- Permission denied Fehler
- Netzwerk-Probleme
- SSL-Zertifikat Fehler
- Backup-Probleme
- VT-x/KVM nicht verfuegbar
Changelog
2025-12-28
- Initial Setup mit allen Services
- Gitea auf eigener Subdomain (eckardt-git.duckdns.org)
- Security Hardening:
- Fail2Ban (SSH: 3 Versuche = 24h Ban)
- SSH Key-Only Authentication
- UFW Firewall
- Automatische Security Updates
- Docker no-new-privileges
- nginx Rate Limiting
- Vaultwarden Registration disabled
- Gitea Registration disabled
- Isolierte Docker-Netzwerke pro Service
- Resource Limits (CPU/Memory) pro Container
- Logging mit Rotation (10MB, 3 Files)
- Netdata Monitoring hinzugefuegt (eckardt-monitoring.duckdns.org)
- Host + Docker Container Monitoring
- WireGuard + Fail2Ban Integration
- Separates Git-Repository: proxmox-netdata
- VT-x im BIOS aktiviert fuer VM-Support
- VM 100 "docker-services" vorbereitet (Debian 12 Cloud Image)