Stand: 6. April 2026
Version: v1.3.1
Kategorie: 🚀 Deployment
Dieses Dokument beschreibt die Installation und Konfiguration von ThemisDB auf QNAP NAS-Systemen mittels Container Station.
- QNAP NAS mit Container Station installiert
- Architektur: x86_64 (Intel/AMD) oder ARM64 (empfohlen: x86_64)
- RAM: Mindestens 2GB verfügbar für den Container
- Storage: Mindestens 10GB freier Speicher
Das QNAP-Image basiert auf Ubuntu 20.04 (statt 22.04) für maximale Kompatibilität:
- GLIBC 2.31 (statt 2.35) - funktioniert auch auf älteren QNAP-Systemen
- Optimiert für Container Station - angepasste Healthchecks und Restart-Policy
- Port 18765 - vermeidet Konflikte mit Standard-QNAP-Diensten
-
Datei herunterladen:
wget https://raw.githubusercontent.com/makr-code/ThemisDB/main/docker-compose.qnap.yml
-
Container starten:
docker-compose -f docker-compose.qnap.yml up -d
- Container Station öffnen
- "Container erstellen" wählen
- Image:
themisdb/themisdb:qnap - Port-Mapping:
18765:18765 - Volume:
/share/Container/themis/data→/data - Container starten
docker run -d \
--name themis \
--restart unless-stopped \
-p 18765:18765 \
-v /share/Container/themis/data:/data \
-e TZ=Europe/Berlin \
-e THEMIS_PORT=18765 \
themisdb/themisdb:qnapErstelle folgende Verzeichnisse auf deinem QNAP:
mkdir -p /share/Container/themis/data
mkdir -p /share/Container/themis/config-
Template kopieren:
docker cp themis:/etc/themis/config.json /share/Container/themis/config/
-
Konfiguration anpassen und in
docker-compose.qnap.ymleinkommentieren:volumes: - /share/Container/themis/config/config.json:/etc/themis/config.json:ro
-
Container neu starten:
docker-compose -f docker-compose.qnap.yml restart
Nach dem Start ist ThemisDB verfügbar unter:
- HTTP API:
http://<QNAP-IP>:18765 - Health Check:
http://<QNAP-IP>:18765/health - Metrics:
http://<QNAP-IP>:18765/metrics
# Über Docker CLI
docker logs -f themis
# Über Container Station
# → Container auswählen → "Log" Tabdocker inspect themis --format='{{.State.Health.Status}}'docker stats themisErstelle ein Backup des Data-Volumes:
# Stoppe Container
docker-compose -f docker-compose.qnap.yml stop
# Erstelle Backup
tar -czf themis-backup-$(date +%Y%m%d).tar.gz /share/Container/themis/data
# Starte Container
docker-compose -f docker-compose.qnap.yml start# Stoppe Container
docker-compose -f docker-compose.qnap.yml stop
# Lösche alte Daten
rm -rf /share/Container/themis/data/*
# Restore Backup
tar -xzf themis-backup-YYYYMMDD.tar.gz -C /
# Starte Container
docker-compose -f docker-compose.qnap.yml start# Pull neues Image
docker pull themisdb/themisdb:qnap
# Neustart mit neuem Image
docker-compose -f docker-compose.qnap.yml up -d-
Logs prüfen:
docker logs themis
-
Ports prüfen:
netstat -tulpn | grep 18765 -
Permissions prüfen:
ls -la /share/Container/themis/
-
RAM-Nutzung prüfen:
docker stats themis
-
Mehr RAM zuweisen in Container Station GUI
-
SSD Cache für
/share/Container/themis/dataaktivieren (falls verfügbar)
# Manuell prüfen
curl http://localhost:18765/health
# Container neu starten
docker restart themisFür ARM-basierte QNAP-Modelle (z.B. TS-x32PXU):
# Build mit ARM64-Triplet
docker build -f Dockerfile.qnap \
--build-arg VCPKG_TRIPLET=arm64-linux \
-t themisdb/themisdb:qnap-arm64 .Dann in docker-compose.qnap.yml das Image anpassen:
image: themisdb/themisdb:qnap-arm64- Zertifikat generieren (siehe Haupt-Dokumentation)
- Mount Zertifikat:
volumes: - /share/Container/themis/certs:/etc/themis/certs:ro
- Config anpassen für HTTPS
Öffne Port 18765 in der QNAP-Firewall (falls aktiviert):
System → Sicherheit → Firewall → Regel hinzufügen
In docker-compose.qnap.yml:
environment:
- THEMIS_MAX_CONNECTIONS=100
- THEMIS_CACHE_SIZE_MB=512
deploy:
resources:
limits:
memory: 4G
reservations:
memory: 2GBei Problemen:
- Logs sammeln:
docker logs themis > themis.log - Issue erstellen: https://github.com/makr-code/ThemisDB/issues
- QNAP-Modell angeben (z.B. TS-453D, QHora-322)
- Projekt: https://github.com/makr-code/ThemisDB
- Dokumentation: https://makr-code.github.io/ThemisDB/
- Docker Hub: https://hub.docker.com/r/themisdb/themisdb