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 ```bash
# 1. Repository klonen # 1. Repository klonen
git clone https://git.schoettler-mk.de/schoettik/aliasvault-vps.git /opt/aliasvault git clone https://git.schoettler-mk.de/schoettik/aliasvault-vps.git /opt/aliasvault
cd /opt/aliasvault cd /opt/aliasvault
# 2. .env-Datei erstellen (basierend auf Beispiel) # 2. Setup ausführen
cp .env.example .env chmod +x setup.sh
./setup.sh
# 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 ## ⚙️ **Konfiguration in `.env`**
- `docker-compose.vps.yml` Optimierte Docker Compose-Datei für VPS ### **Für öffentlichen Zugang:**
- `.env.example` Konfigurationsvorlage (deutsch)
- `README.md` Diese Datei
## ⚙️ Konfiguration
### Wichtige `.env` Einstellungen
**Für öffentlichen Zugang:**
```env ```env
HOSTNAME=aliasvault.deinedomain.com HOSTNAME=aliasvault.deinedomain.com
LETSENCRYPT_ENABLED=true LETSENCRYPT_ENABLED=true
FORCE_HTTPS_REDIRECT=true FORCE_HTTPS_REDIRECT=true
``` ```
**Für lokalen/privaten Zugang:** ### **Für privaten Zugang:**
```env ```env
ADMIN_IP_ALLOWLIST=private ADMIN_IP_ALLOWLIST=private
LETSENCRYPT_ENABLED=false LETSENCRYPT_ENABLED=false
``` ```
**Email-Funktionen (optional):** ## 🔧 **Icon-Anpassung**
```env
PRIVATE_EMAIL_DOMAINS=deinedomain.com ### **Icons ändern**
SMTP_TLS_ENABLED=true Ändere die Icon-URLs in `docker-compose.vps.yml`:
SMTP_ADVERTISED_HOSTNAME=mail.deinedomain.com
```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:** ```yaml
```bash labels:
docker-compose -f docker-compose.vps.yml up -d icon: "./aliasvault-icon.png" # Relativer Pfad
``` ```
**Container stoppen:** ## 🖥️ **Unraid Integration**
```bash
docker-compose -f docker-compose.vps.yml down
```
**Logs anzeigen:** Unraid zeigt die Icons im **Docker Tab** an, wenn:
```bash - Das `icon` oder `com.unraid.icon` Label gesetzt ist
docker-compose -f docker-compose.vps.yml logs -f - Die URL/der Pfad erreichbar ist
``` - Unraid die Label-Syntax unterstützt
## 🔄 **Updates**
**Updates durchführen:**
```bash ```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 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 **Q: Werden die Icons von allen Docker Tools unterstützt?**
2. **Ports prüfen:** Standard-Ports 80/443 müssen öffentlich erreichbar sein (oder anpassen) A: Portainer, Docker Desktop und Unraid unterstützen oft Icon-Labels, aber die genauen Labels variieren.
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 **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: **Q: Funktioniert das auch mit Dockhand?**
- `postgres_data` PostgreSQL-Datenbank A: Ja, Dockhand überträgt die Compose-Datei inklusive Labels an die Docker Hosts.
- `database_data` AliasVault-Datenbank
- `logs_data` Logdateien
## 🚨 Wichtige Hinweise **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`.
- **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
## 🔗 **Links**
- [Offizielle AliasVault Dokumentation](https://docs.aliasvault.net) - [Offizielle AliasVault Dokumentation](https://docs.aliasvault.net)
- [AliasVault GitHub Repository](https://github.com/aliasvault/aliasvault) - [Docker Compose Labels Dokumentation](https://docs.docker.com/compose/compose-file/compose-file-v3/#labels)
- [Docker Compose Dokumentation](https://docs.docker.com/compose/) - [Unraid Docker Management](https://wiki.unraid.net/Docker_Management)
Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

+28
View File
@@ -20,6 +20,10 @@ services:
timeout: 5s timeout: 5s
retries: 5 retries: 5
start_period: 10s start_period: 10s
labels:
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/5968/5968342.png"
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/5968/5968342.png"
icon: "https://cdn-icons-png.flaticon.com/512/5968/5968342.png"
networks: networks:
- aliasvault-network - aliasvault-network
@@ -33,6 +37,10 @@ services:
restart: unless-stopped restart: unless-stopped
env_file: env_file:
- .env - .env
labels:
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/5968/5968267.png"
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/5968/5968267.png"
icon: "https://cdn-icons-png.flaticon.com/512/5968/5968267.png"
networks: networks:
- aliasvault-network - aliasvault-network
@@ -51,6 +59,10 @@ services:
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy
labels:
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/1006/1006771.png"
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/1006/1006771.png"
icon: "https://cdn-icons-png.flaticon.com/512/1006/1006771.png"
networks: networks:
- aliasvault-network - aliasvault-network
@@ -69,6 +81,10 @@ services:
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy
labels:
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/1828/1828504.png"
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/1828/1828504.png"
icon: "https://cdn-icons-png.flaticon.com/512/1828/1828504.png"
networks: networks:
- aliasvault-network - aliasvault-network
@@ -89,6 +105,10 @@ services:
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy
labels:
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/732/732200.png"
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/732/732200.png"
icon: "https://cdn-icons-png.flaticon.com/512/732/732200.png"
networks: networks:
- aliasvault-network - aliasvault-network
@@ -105,6 +125,10 @@ services:
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy
labels:
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/3135/3135715.png"
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/3135/3135715.png"
icon: "https://cdn-icons-png.flaticon.com/512/3135/3135715.png"
networks: networks:
- aliasvault-network - aliasvault-network
@@ -126,6 +150,10 @@ services:
restart: unless-stopped restart: unless-stopped
env_file: env_file:
- .env - .env
labels:
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/2282/2282188.png"
com.unraid.icon: "https://cdn-icons-png.flaticon.com/512/2282/2282188.png"
icon: "https://cdn-icons-png.flaticon.com/512/2282/2282188.png"
networks: networks:
- aliasvault-network - aliasvault-network
+8
View File
@@ -0,0 +1,8 @@
version: '3.8'
services:
web:
image: nginx:alpine
labels:
com.example.icon: "https://example.com/icon.png"
com.docker.compose.service-icon: "https://cdn-icons-png.flaticon.com/512/226/226269.png"