| Serie | CPU | Architektur | RAM | Docker | Support |
|---|---|---|---|---|---|
| TS-464 | Celeron N5105 | x86_64 | 4-8GB | ✅ | ✅ Best |
| TS-264 | Celeron N5105 | x86_64 | 4-8GB | ✅ | ✅ Best |
| TS-932PX | Ryzen | x86_64 | 8-64GB | ✅ | ✅ Best |
| TS-253E | Celeron J3455 | x86_64 | 4-8GB | ✅ Gut | |
| TS-453E | Celeron N5105 | x86_64 | 4-8GB | ✅ Gut | |
| TS-432P | Celeron N3050 | x86_64 | 2-4GB | ❌ | |
| TS-231 | ARMv7 | ARMv7 | 1-2GB | ❌ | ❌ Schwierig |
Empfehlung: x86_64 QNAP mit Docker Support (TS-264, TS-464)
-
Docker ist installiert
- QNAP Admin Panel → App Center → Suche "Docker"
- "Container Station" oder "Docker" installieren
-
SSH aktiviert (für Commands)
- Settings → Advanced → Terminal & SNMP → Enable SSH
-
Genug Storage (min. 20GB für ThemisDB)
# Von GitHub (falls veröffentlicht)
ssh admin@qnap-ip
docker pull themisdb/themisdb:qnap
docker run -d \
--name themis \
-p 18765:18765 \
-p 8080:8080 \
-v /share/themisdb:/var/lib/themisdb \
themisdb/themisdb:qnap# SSH zu QNAP
ssh admin@qnap-ip
# Source klonen
cd /share
git clone https://github.com/makr-code/themisdb.git
cd themisdb
# Dockerfile für QNAP verwenden
docker build -f docker/Dockerfile.qnap \
-t themis-server:qnap-local \
.
# Starten
docker-compose -f docker/docker-compose.qnap.yml up -d# Auf Linux/WSL (nicht auf QNAP - zu langsam)
docker buildx build \
--platform linux/amd64 \
-f docker/Dockerfile.qnap \
-t themis-server:qnap \
.
# Zu QNAP pushen
docker save themis-server:qnap | \
ssh admin@qnap-ip 'docker load'ssh admin@qnap-ip
cd /share/themisdb
# docker-compose-qnap.yml nutzen
docker-compose -f docker/docker-compose.qnap.yml up -d
# Logs anschauen
docker-compose -f docker/docker-compose.qnap.yml logs -f themisdocker-compose.qnap.yml Inhalt:
version: '3.8'
services:
themis:
image: themis-server:qnap-latest
container_name: themis-db
ports:
- "18765:18765"
- "8080:8080"
volumes:
- /share/themisdb/data:/var/lib/themisdb
- /share/themisdb/config:/etc/themis
environment:
THEMIS_PORT: 18765
THEMIS_HTTP_PORT: 8080
THEMIS_DATA_DIR: /var/lib/themisdb
restart: always
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 5s
retries: 3Nur für x86_64 Modelle!
QNAP Admin Panel → Settings → Advanced → Terminal & SNMP
→ Enable SSH ✅
ssh admin@qnap-ip
# Qts Linux Verzeichnis (QNAP's Linux-Kernel)
cd /share
# Build tools auf QNAP sind begrenzt
# Besser: Chroot-Umgebung mit vollständigen Tools
# Oder: QNAP Optware/IPKG nutzen
ipkg install gcc g++ make cmake
# Falls das nicht funktioniert, dann Docker verwenden!cd /share
git clone https://github.com/makr-code/themisdb.git
cd themisdb
# QNAP Firmware hat oft alte Tools
# Daher minimal bauen
cmake -S . -B build-qnap \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DTHEMIS_ENABLE_LLM=OFF \
-DTHEMIS_ENABLE_GPU=OFF \
-DTHEMIS_BUILD_TESTS=OFF \
-DTHEMIS_BUILD_BENCHMARKS=OFF
cmake --build build-qnap --parallel 2
# Binary: build-qnap/themis_serverQNAP Control Panel → Applications
→ Themis DB → Starten
ssh admin@qnap-ip
# Binary direkt
/share/themisdb/build-qnap/themis_server \
--port 18765 \
--http-port 8080 \
--data-dir /share/themisdb/data
# Im Hintergrund
nohup /share/themisdb/build-qnap/themis_server \
--port 18765 \
--data-dir /share/themisdb/data &# Service-Datei erstellen
ssh admin@qnap-ip
cat > /etc/init.d/themis.sh <<'EOF'
#!/bin/bash
case "$1" in
start)
/share/themisdb/build-qnap/themis_server \
--port 18765 \
--data-dir /share/themisdb/data &
;;
stop)
pkill -f themis_server
;;
esac
EOF
chmod +x /etc/init.d/themis.sh
# Starten
/etc/init.d/themis.sh startThemisDB hat spezielle RAID-Unterstützung!
# QNAP RAID-Punkte ermitteln
df -h
# z.B. /mnt/cachedev1_0 → ThemisDB Raid-Config:
/share/themisdb/build-qnap/themis_server \
--port 18765 \
--data-dir /mnt/cachedev1_0/themisdb \
--raid-config /mnt/cachedev1_0/themisdb/raid.json# Komplette DB sichern
tar -czf /share/themisdb-backup-$(date +%Y%m%d).tar.gz \
/share/themisdb/data/
# Oder mit QNAP Backup-Tool
QNAP Control Panel → Backup/Restore
→ Select /share/themisdb/datassh admin@qnap-ip
# Backup extrahieren
tar -xzf themisdb-backup-20240101.tar.gz \
-C /share/themisdb/ssh admin@qnap-ip
# Process Status
ps aux | grep themis_server
# Port Binding überprüfen
netstat -tuln | grep 18765
netstat -tuln | grep 8080
# Health Check
curl http://qnap-ip:8080/healthDocker-Logs:
docker logs themis-dbStandalone-Logs:
tail -f nohup.out # Falls mit nohup gestartetFalls Sie ein ARM QNAP haben:
- Native Build schwierig - QNAP Tools sehr begrenzt
- Docker unmöglich - Kein ARM64 Container Support
- Alternative: Cross-Compilation auf x86_64 Host
# Auf x86_64 Linux Machine:
cmake -S . -B build-qnap-arm \
-G Ninja \
-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm64.cmake \
-DCMAKE_BUILD_TYPE=Release \
-DTHEMIS_ENABLE_LLM=OFF
cmake --build build-qnap-arm --parallel 8
# Binary zu QNAP via SCP übertragen
scp build-qnap-arm/themis_server admin@qnap-ip:/share/themisdb/Lösung: User zur docker group hinzufügen
ssh admin@qnap-ip
usermod -aG docker adminLösung: RAID/Storage-Kapazität prüfen
ssh admin@qnap-ip
df -h # Überblick
du -sh /share/themisdb # DB-GrößeLösung: Docker verwenden statt Native Build auf QNAP
Lösung:
docker logs themis-db
docker inspect themis-db-
SSD-Cache für Datenbank
- QNAP Settings: Enable SSD Tiering
- /share/themisdb/data → SSD Cache
-
Network Optimization
- Wired Ethernet bevorzugt
- GbE oder höher
-
Thermal Management
- ThemisDB kann CPU-intensiv sein
- QNAP Lüfter-Management überprüfen
-
Disk-I/O Optimization
- Separate RAID Volume für themisdb
- Dediziert für Datenbank
Nach erfolgreichem QNAP-Build lesen Sie:
- QNAP Deployment: docs/de/deployment/deployment_qnap.md - QNAP-spezifisches Deployment
- ARM Deployment: docs/de/deployment/deployment_arm_build.md - ARM-Architektur
- Releases: docs/de/releases/updates_distribution_strategy.md
- BUILD_ARM.md - Generischer ARM-Guide
- docker/Dockerfile.qnap - QNAP Dockerfile
- docker/docker-compose.qnap.yml - Compose Config
- QNAP Docs - QNAP offizielle Dokumentation