Add: Icon labels for all services with Unraid/Docker support\n\n- Added com.docker.compose.service-icon labels\n- Added com.unraid.icon labels for Unraid compatibility\n- Added generic icon labels for other tools\n- Updated README with icon documentation\n- Included aliasvault-icon.png from original repo
This commit is contained in:
@@ -1,106 +1,136 @@
|
||||
# AliasVault VPS Deployment
|
||||
# AliasVault VPS Deployment mit Icons für Unraid
|
||||
|
||||
Dieses Repository enthält die optimierte Docker Compose-Konfiguration für die Bereitstellung von AliasVault auf einem VPS.
|
||||
Dieses Repository enthält die optimierte Docker Compose-Konfiguration für die Bereitstellung von AliasVault auf einem VPS, inklusive Icons für Unraid und andere Docker Management-UIs.
|
||||
|
||||
## 🚀 Schnellstart
|
||||
## 📁 **Dateistruktur**
|
||||
|
||||
```
|
||||
aliasvault-vps/
|
||||
├── docker-compose.vps.yml # Optimierte Compose-Datei mit Icon-Labels
|
||||
├── .env.example # Deutsche Konfigurationsvorlage
|
||||
├── README.md # Diese Dokumentation
|
||||
├── setup.sh # Automatisches Setup-Skript
|
||||
└── aliasvault-icon.png # Haupticon für AliasVault
|
||||
```
|
||||
|
||||
## 🎨 **Icons für Services**
|
||||
|
||||
Die `docker-compose.vps.yml` enthält jetzt **Icon-Labels** für jeden Service:
|
||||
|
||||
### **Verwendete Labels**
|
||||
- `com.docker.compose.service-icon` – Standard Docker Compose Label
|
||||
- `com.unraid.icon` – Unraid-spezifisches Label
|
||||
- `icon` – Generisches Label für andere Tools
|
||||
|
||||
### **Service-Icons**
|
||||
Jeder Service hat ein passendes Icon von [FlatIcon](https://www.flaticon.com):
|
||||
|
||||
| Service | Icon | Zweck |
|
||||
|---------|------|-------|
|
||||
| **postgres** | 🐘 PostgreSQL Icon | Datenbank |
|
||||
| **client** | 🌐 Web Icon | Web Client |
|
||||
| **api** | ⚙️ API Icon | API Server |
|
||||
| **admin** | 🛡️ Admin Icon | Admin Interface |
|
||||
| **smtp** | ✉️ Email Icon | SMTP Server |
|
||||
| **task-runner** | 🏃 Runner Icon | Background Tasks |
|
||||
| **reverse-proxy** | 🔄 Proxy Icon | Nginx Reverse Proxy |
|
||||
|
||||
## 🔄 **Dockhand-Workflow**
|
||||
|
||||
Da du **Dockhand** für das Management verwendest:
|
||||
|
||||
1. **Git Repository** → `docker-compose.vps.yml` (Konfiguration + Icons)
|
||||
2. **Dockhand** → `.env` Verwaltung (Sensible Daten)
|
||||
3. **Dockhand Deployment** → Container auf Hosts
|
||||
|
||||
### **Dockhand-spezifische Hinweise**
|
||||
- **Icons werden automatisch** von Unraid/Portainer angezeigt, wenn sie die Labels unterstützen
|
||||
- **Environment Variablen** bleiben in Dockhand verwaltet
|
||||
- **.env.example** dient als Vorlage für Dockhand-Configuration
|
||||
|
||||
## 🚀 **Schnelle Bereitstellung**
|
||||
|
||||
```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
|
||||
# 2. Setup ausführen
|
||||
chmod +x setup.sh
|
||||
./setup.sh
|
||||
```
|
||||
|
||||
## 📁 Dateistruktur
|
||||
## ⚙️ **Konfiguration in `.env`**
|
||||
|
||||
- `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:**
|
||||
### **Für öffentlichen Zugang:**
|
||||
```env
|
||||
HOSTNAME=aliasvault.deinedomain.com
|
||||
LETSENCRYPT_ENABLED=true
|
||||
FORCE_HTTPS_REDIRECT=true
|
||||
```
|
||||
|
||||
**Für lokalen/privaten Zugang:**
|
||||
### **Für 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
|
||||
## 🔧 **Icon-Anpassung**
|
||||
|
||||
### **Icons ändern**
|
||||
Ändere die Icon-URLs in `docker-compose.vps.yml`:
|
||||
|
||||
```yaml
|
||||
labels:
|
||||
com.docker.compose.service-icon: "https://neue-url-zum-icon.png"
|
||||
com.unraid.icon: "https://neue-url-zum-icon.png"
|
||||
icon: "https://neue-url-zum-icon.png"
|
||||
```
|
||||
|
||||
## 🔧 Verwaltung
|
||||
### **Lokale Icons verwenden**
|
||||
Falls Unraid lokale Pfade unterstützt:
|
||||
|
||||
**Container starten:**
|
||||
```bash
|
||||
docker-compose -f docker-compose.vps.yml up -d
|
||||
```yaml
|
||||
labels:
|
||||
icon: "./aliasvault-icon.png" # Relativer Pfad
|
||||
```
|
||||
|
||||
**Container stoppen:**
|
||||
```bash
|
||||
docker-compose -f docker-compose.vps.yml down
|
||||
```
|
||||
## 🖥️ **Unraid Integration**
|
||||
|
||||
**Logs anzeigen:**
|
||||
```bash
|
||||
docker-compose -f docker-compose.vps.yml logs -f
|
||||
```
|
||||
Unraid zeigt die Icons im **Docker Tab** an, wenn:
|
||||
- Das `icon` oder `com.unraid.icon` Label gesetzt ist
|
||||
- Die URL/der Pfad erreichbar ist
|
||||
- Unraid die Label-Syntax unterstützt
|
||||
|
||||
## 🔄 **Updates**
|
||||
|
||||
**Updates durchführen:**
|
||||
```bash
|
||||
docker-compose -f docker-compose.vps.yml pull
|
||||
# Änderungen pushen
|
||||
git add .
|
||||
git commit -m "Icon-Labels hinzugefügt"
|
||||
git push origin main
|
||||
|
||||
# Auf dem VPS aktualisieren
|
||||
cd /opt/aliasvault
|
||||
git pull origin main
|
||||
docker-compose -f docker-compose.vps.yml up -d --force-recreate
|
||||
```
|
||||
|
||||
## 🔒 Sicherheit
|
||||
## ❓ **Häufige Fragen**
|
||||
|
||||
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
|
||||
**Q: Werden die Icons von allen Docker Tools unterstützt?**
|
||||
A: Portainer, Docker Desktop und Unraid unterstützen oft Icon-Labels, aber die genauen Labels variieren.
|
||||
|
||||
## 📦 Docker Volumes
|
||||
**Q: Kann ich eigene Icons hochladen?**
|
||||
A: Ja, lade deine Icon-Dateien ins Repository und passe die URLs/Pfade an.
|
||||
|
||||
Die Daten werden in folgenden Volumes gespeichert:
|
||||
- `postgres_data` – PostgreSQL-Datenbank
|
||||
- `database_data` – AliasVault-Datenbank
|
||||
- `logs_data` – Logdateien
|
||||
**Q: Funktioniert das auch mit Dockhand?**
|
||||
A: Ja, Dockhand überträgt die Compose-Datei inklusive Labels an die Docker Hosts.
|
||||
|
||||
## 🚨 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
|
||||
**Q: Was, wenn Unraid die Icons nicht anzeigt?**
|
||||
A: Prüfe die Unraid-Dokumentation zu Docker Labels oder experimentiere mit anderen Label-Namen wie `net.unraid.docker.icon`.
|
||||
|
||||
## 🔗 **Links**
|
||||
- [Offizielle AliasVault Dokumentation](https://docs.aliasvault.net)
|
||||
- [AliasVault GitHub Repository](https://github.com/aliasvault/aliasvault)
|
||||
- [Docker Compose Dokumentation](https://docs.docker.com/compose/)
|
||||
- [Docker Compose Labels Dokumentation](https://docs.docker.com/compose/compose-file/compose-file-v3/#labels)
|
||||
- [Unraid Docker Management](https://wiki.unraid.net/Docker_Management)
|
||||
Reference in New Issue
Block a user