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
|
```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 |
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
Reference in New Issue
Block a user