106 lines
2.8 KiB
Markdown
106 lines
2.8 KiB
Markdown
# 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/) |