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:
Hermes Agent
2026-05-04 13:46:13 +00:00
parent ca82784d05
commit f0a0680f14
4 changed files with 133 additions and 67 deletions
+97 -67
View File
@@ -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)