# AliasVault VPS Deployment Dieses Repository enthält die optimierte Docker Compose-Konfiguration für die Bereitstellung von AliasVault auf einem VPS. ## 🚀 Schnellstart ```bash # 1. Repository klonen git clone https://git.schoettler-mk.de/schoettik/aliasvault-vps.git /opt/aliasvault cd /opt/aliasvault # 2. .env-Datei erstellen (basierend auf Beispiel) cp .env.example .env # 3. Secrets-Verzeichnis erstellen mkdir -p secrets echo "dein_starkes_postgres_passwort" > secrets/postgres_password chmod 600 secrets/postgres_password # 4. Zertifikate-Verzeichnis erstellen (falls benötigt) mkdir -p certificates/{ssl,letsencrypt/www,smtp} # 5. Container starten docker-compose -f docker-compose.vps.yml up -d ``` ## 📁 Dateistruktur - `docker-compose.vps.yml` – Optimierte Docker Compose-Datei für VPS - `.env.example` – Konfigurationsvorlage (deutsch) - `README.md` – Diese Datei ## ⚙️ Konfiguration ### Wichtige `.env` Einstellungen **Für öffentlichen Zugang:** ```env HOSTNAME=aliasvault.deinedomain.com LETSENCRYPT_ENABLED=true FORCE_HTTPS_REDIRECT=true ``` **Für lokalen/privaten Zugang:** ```env ADMIN_IP_ALLOWLIST=private LETSENCRYPT_ENABLED=false ``` **Email-Funktionen (optional):** ```env PRIVATE_EMAIL_DOMAINS=deinedomain.com SMTP_TLS_ENABLED=true SMTP_ADVERTISED_HOSTNAME=mail.deinedomain.com ``` ## 🔧 Verwaltung **Container starten:** ```bash docker-compose -f docker-compose.vps.yml up -d ``` **Container stoppen:** ```bash docker-compose -f docker-compose.vps.yml down ``` **Logs anzeigen:** ```bash docker-compose -f docker-compose.vps.yml logs -f ``` **Updates durchführen:** ```bash docker-compose -f docker-compose.vps.yml pull docker-compose -f docker-compose.vps.yml up -d --force-recreate ``` ## 🔒 Sicherheit 1. **Passwort ändern:** PostgreSQL-Passwort in `secrets/postgres_password` ändern 2. **Ports prüfen:** Standard-Ports 80/443 müssen öffentlich erreichbar sein (oder anpassen) 3. **Firewall:** UFW oder firewalld konfigurieren 4. **Backups:** Regelmäßige Backups der Docker Volumes einrichten 5. **Updates:** Regelmäßige Updates der Container durchführen ## 📦 Docker Volumes Die Daten werden in folgenden Volumes gespeichert: - `postgres_data` – PostgreSQL-Datenbank - `database_data` – AliasVault-Datenbank - `logs_data` – Logdateien ## 🚨 Wichtige Hinweise - **Port 25** wird für SMTP benötigt – muss auf dem VPS verfügbar sein - **Let's Encrypt** benötigt öffentliche DNS-Einträge und erreichbare Ports 80/443 - **SMTP TLS** erfordert manuelle Zertifikatsbereitstellung in `certificates/smtp/` - **Backup-Strategie** für die Volumes implementieren ## ❓ Hilfe - [Offizielle AliasVault Dokumentation](https://docs.aliasvault.net) - [AliasVault GitHub Repository](https://github.com/aliasvault/aliasvault) - [Docker Compose Dokumentation](https://docs.docker.com/compose/)