-
Notifications
You must be signed in to change notification settings - Fork 1
DOCKER_DEPLOYMENT
Stand: 26. Dezember 2025
Version: v1.3.1
Kategorie: π Deployment
Status: Production-Ready
- Quick Start
- Docker Images
- Build Strategies
- Configuration
- Docker Compose
- Production Deployment
- Platform-Specific
- Troubleshooting
- Related Documentation
# Latest version
docker pull themisdb/themisdb:latest
docker run -d \
--name themis \
-p 8080:8080 \
-p 18765:18765 \
-v themis_data:/data \
themisdb/themisdb:latest
# Specific version (v1.3.0 - LLM Integration)
docker pull themisdb/themisdb:v1.3.0
docker run -d \
--name themis \
-p 8080:8080 \
-p 18765:18765 \
-v themis_data:/data \
themisdb/themisdb:v1.3.0NEW in v1.3.0: Native LLM inference with GPU acceleration
# Pull GPU-enabled image
docker pull themisdb/themisdb:v1.3.0-gpu
# Run with NVIDIA GPU support
docker run -d \
--name themis-gpu \
--gpus all \
-p 8080:8080 \
-p 18765:18765 \
-v themis_data:/data \
-v themis_models:/models \
themisdb/themisdb:v1.3.0-gpu
# Verify GPU access
docker exec themis-gpu nvidia-smiRequirements:
- NVIDIA GPU with CUDA support
- NVIDIA Container Toolkit installed
- Docker 19.03+ with GPU support
Performance: 100x faster inference vs CPU-only mode
# Check container status
docker ps | grep themis
# Health check
curl http://localhost:18765/health
# Expected: 200 OK with JSON response
# View logs
docker logs -f themis| Tag | Architecture | Status | Use Case |
|---|---|---|---|
latest |
amd64 + arm64 | β Production | Recommended for most users (v1.3.0) |
v1.3.0 |
amd64 + arm64 | β Production | LLM Integration Release (December 2025) |
v1.3.0-gpu |
amd64 | β Production | With CUDA support for GPU acceleration |
qnap |
amd64 | β Production | QNAP NAS optimized (Ubuntu 20.04, SSE4.2 baseline) |
v1.2.0 |
amd64 + arm64 | β Production | Previous stable release |
v1.0.2 |
amd64 + arm64 | β Production | Legacy stable release |
v1 |
amd64 + arm64 | β Production | Major version track |
Registry: docker.io/themisdb/themisdb
Multi-Architecture Support:
-
linux/amd64- Intel/AMD x64 processors -
linux/arm64- ARM v8 processors (RPi, Apple Silicon, AWS Graviton, etc.)
Image Size: ~150MB (compressed)
Build Configuration:
FROM ubuntu:22.04
VCPKG_ENABLE_ONLINE=OFF # No internet access during build
VCPKG_TRIPLET=x64-linux # For amd64
VCPKG_TRIPLET=arm64-linux # For arm64Hinweis: Die lokale Quelle llama.cpp/ im ProjektβRoot ist per .dockerignore ausgeschlossen und wird nicht in das BuildβContext kopiert. Die LLMβFunktionalitΓ€t wird ΓΌber die kompilierten Artefakte (ggml/llama) bereitgestellt; Modelle sollten als Volume (/models) gemountet werden.
ThemisDB verwendet einen Hybrid Pre-built Binary Workflow fΓΌr Docker-Builds:
- Binary lokal bauen (einmalig, ~30-40 Minuten mit vcpkg)
-
Docker-Image erstellen mit
Dockerfile.simple(schnell, ~30 Sekunden) - Ergebnis: Kleine Images (~100-200 MB), 100% offline-fΓ€hig
Vorteile:
- β Schnelle Build-Zeiten (Sekunden statt Minuten)
- β Kleine Image-GrΓΆΓe (~150 MB komprimiert)
- β 100% Offline-fΓ€hig nach initialem Setup
- β Monolithische Binary (keine Library-AbhΓ€ngigkeiten)
- β Health-Check fΓΌr Container-Orchestrierung
ThemisDB bietet native UnterstΓΌtzung fΓΌr mehrere Architekturen:
| Plattform | Architektur | vcpkg Triplet | PrimΓ€rer Use Case |
|---|---|---|---|
| AMD64 | x86_64 | x64-linux |
Server, Cloud (AWS/Azure/GCP) |
| ARM64 | aarch64 | arm64-linux |
Raspberry Pi 4/5, ARM-Server (Graviton) |
| QNAP | x86_64 | x64-linux |
QNAP NAS (optimiert fΓΌr Γ€ltere CPUs) |
Details: Siehe Multi-Arch Build Strategy
# Windows: Schnelles Build & Push
.\scripts\quick-docker-deploy.ps1
# Mit BinΓ€r-Rebuild
.\scripts\quick-docker-deploy.ps1 -BuildBinary -Push
# Spezifische Version
.\scripts\quick-docker-deploy.ps1 -Tag "1.3.4" -Push# Windows: Standard Docker Build
.\scripts\build-docker.ps1 -Tag "1.3.4"
# Mit Binary-Build (vollstΓ€ndig)
.\scripts\build-docker.ps1 -BuildBinary -Tag "1.3.4"
# Multi-Arch Build & Push zu Docker Hub
.\scripts\build-docker.ps1 -Platforms "linux/amd64,linux/arm64" -Tag "1.3.4" -Push
# Mit vorgebautem Dockerfile (schneller)
.\scripts\build-docker.ps1 -Dockerfile "Dockerfile.simple" -Tag "1.3.4" -Push# Linux/macOS: Docker Build
TAG=1.3.4 ./scripts/build-docker.sh
# Mit Binary-Build
TAG=1.3.4 BUILD_BINARY=true ./scripts/build-docker.sh
# Multi-arch + Push
TAG=1.3.4 PLATFORMS="linux/amd64,linux/arm64" PUSH=true ./scripts/build-docker.sh# Alle Plattformen bauen (Windows, Linux, Docker)
.\scripts\build.ps1 -Target all -Push
# Nur Docker
.\scripts\build.ps1 -Target docker -Push -Platforms "linux/amd64,linux/arm64"docker run -e THEMIS_CONFIG_PATH=/etc/themis/config.json \
-e THEMIS_PORT=18765 \
-e LD_LIBRARY_PATH=/usr/local/lib/themisdb:/usr/local/lib \
themisdb/themisdb:latest| Variable | Default | Description |
|---|---|---|
THEMIS_CONFIG_PATH |
/etc/themis/config.json |
Configuration file path |
THEMIS_PORT |
18765 |
Internal port (mapped via -p) |
LD_LIBRARY_PATH |
/usr/local/lib/themisdb:/usr/local/lib |
Runtime library path |
# Mount custom config
docker run -d \
-v /path/to/config.json:/etc/themis/config.json:ro \
themisdb/themisdb:latest# Named volume (recommended)
docker volume create themis_data
docker run -d \
-v themis_data:/data \
themisdb/themisdb:latest
# Bind mount (for development)
docker run -d \
-v /local/data/path:/data \
themisdb/themisdb:latest| Path | Purpose | Persistence |
|---|---|---|
/data |
Database storage | β Volume |
/etc/themis |
Configuration | β Config mount |
/var/log/themis |
Application logs | β Volume |
docker run -d \
-p 8080:8080 \ # REST API (HTTP/HTTP/2)
-p 18765:18765 \ # Internal protocol
-p 9090:9090 \ # WebSocket
-p 1883:1883 \ # MQTT
-p 5432:5432 \ # PostgreSQL Wire Protocol
themisdb/themisdb:latest| Port | Protocol | Purpose | Default | Version |
|---|---|---|---|---|
8080 |
HTTP/HTTP/2 | REST API, Web UI, Server Push | Required | v1.0+ |
18765 |
Custom | Binary protocol | Required | v1.0+ |
9090 |
WebSocket | Real-time CDC streaming | Optional | v1.3.0+ |
1883 |
MQTT | Broker with WebSocket transport | Optional | v1.3.0+ |
5432 |
PostgreSQL | Wire Protocol (SQL-to-Cypher) | Optional | v1.3.0+ |
3000 |
MCP | Model Context Protocol | Optional | v1.3.0+ |
# Host network (performance, less isolation)
docker run --network host themisdb/themisdb:latest
# Bridge network (default, recommended)
docker run --network bridge themisdb/themisdb:latest
# Custom network
docker network create themis_net
docker run --network themis_net themisdb/themisdb:latest# docker-compose.yml
version: '3.8'
services:
themis:
image: themisdb/themisdb:latest
container_name: themis
ports:
- "8080:8080"
- "18765:18765"
volumes:
- themis_data:/data
- ./config/config.json:/etc/themis/config.json:ro
environment:
THEMIS_PORT: 18765
THEMIS_CONFIG_PATH: /etc/themis/config.json
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:18765/health"]
interval: 10s
timeout: 5s
retries: 3
volumes:
themis_data:
driver: localStart (Repo-Path beachten):
docker compose -f docker/compose/docker-compose.yml up -d
docker compose -f docker/compose/docker-compose.yml logs -fversion: '3.8'
services:
themis:
image: themisdb/themisdb:latest
ports:
- "8080:8080"
- "18765:18765"
volumes:
- themis_data:/data
networks:
- themis_net
# Optional: monitoring
prometheus:
image: prom/prometheus:latest
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
networks:
- themis_net
networks:
themis_net:
driver: bridge
volumes:
themis_data:docker run -d \
--cpus="4" \ # 4 CPU cores
--memory="8g" \ # 8GB RAM
--memory-swap="10g" \ # 10GB with swap
-v themis_data:/data \
themisdb/themisdb:latest# Always restart
docker run --restart=always themisdb/themisdb:latest
# Restart unless manually stopped
docker run --restart=unless-stopped themisdb/themisdb:latest
# Restart with max retry count
docker run --restart=on-failure:5 themisdb/themisdb:latest# JSON file driver (max size limit)
docker run -d \
--log-driver json-file \
--log-opt max-size=10m \
--log-opt max-file=3 \
themisdb/themisdb:latest
# Syslog driver
docker run -d \
--log-driver syslog \
--log-opt syslog-address=udp://localhost:514 \
themisdb/themisdb:latest
# View logs
docker logs --tail 100 --follow themis# Ubuntu 22.04+
docker run -d \
--platform linux/amd64 \
-p 8080:8080 \
-p 18765:18765 \
-v themis_data:/data \
themisdb/themisdb:latest
# Debian
apt-get install docker.io
docker pull themisdb/themisdb:latest# Auto-detects ARM64
docker pull themisdb/themisdb:latest
# Explicit pull
docker pull --platform linux/arm64 themisdb/themisdb:latest
# Run
docker run -d \
--platform linux/arm64 \
-v themis_data:/data \
themisdb/themisdb:latest# Pull QNAP-optimized image (Ubuntu 20.04, SSE4.2 baseline)
docker pull themisdb/themisdb:qnap
# Run on QNAP (port 18765 to avoid conflicts)
docker run -d \
--name themis \
-p 18765:18765 \
-v /share/Container/themis/data:/data \
-v /share/Container/themis/config/config.qnap.json:/etc/themis/config.json:ro \
themisdb/themisdb:qnap
# Or use docker-compose.qnap.yml
# See docker/docker-compose.qnap.yml for full setupQNAP Notes:
- Use
qnaporv1.0.2-qnaptags (optimized for older CPUs) - Default port 18765 avoids QNAP service conflicts
- Mount volumes to
/share/Container/themis/ - Requires GLIBC 2.31+ (QNAP QTS 5.0+)
# Auto-selects correct architecture
docker pull themisdb/themisdb:latest
# Explicitly specify
docker pull --platform linux/arm64 themisdb/themisdb:latest # M-series
docker pull --platform linux/amd64 themisdb/themisdb:latest # Intel# Pull image
docker pull themisdb/themisdb:latest
# Run
docker run -d `
-p 8080:8080 `
-p 18765:18765 `
-v themis_data:C:\data `
themisdb/themisdb:latest
# View logs
docker logs -f themis# Check logs
docker logs themis
# Common issues:
# 1. Port already in use
docker ps # Find conflicting container
docker stop <container_id>
# 2. Insufficient disk space
docker system df # Check usage
# 3. Broken config
docker exec themis cat /etc/themis/config.json# Monitor container stats
docker stats themis
# Check resource limits
docker inspect themis | grep -i memory
# Increase memory allocation
docker update --memory 16g themis
docker restart themis# Test from host
curl http://localhost:8080/api/health
# Test from within container
docker exec themis curl http://localhost:18765/health
# Check port binding
docker port themis# Verify libraries are loaded
docker exec themis ldd /usr/local/bin/themis_server
# Check library path
docker exec themis echo $LD_LIBRARY_PATH
# Rebuild with updated lib path if needed
docker pull themisdb/themisdb:latest --force# Clone repo
git clone https://github.com/makr-code/ThemisDB.git
cd ThemisDB
# Build multi-arch (requires buildx setup)
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t themis:custom:latest .
# Build single-arch
docker build \
-f Dockerfile \
-t themis:custom:latest .# Customize build
docker build \
--build-arg VCPKG_ENABLE_ONLINE=OFF \
--build-arg THEMIS_VERSION=1.0.2 \
-t themis:custom .# Build QNAP-optimized image (Ubuntu 20.04, baseline CPU)
docker build \
-f docker/Dockerfile.qnap \
-t themis:qnap \
.
# Tag and push
docker tag themis:qnap themisdb/themisdb:qnap
docker push themisdb/themisdb:qnapβ DO:
- Use named volumes for data persistence
- Set resource limits (CPU, memory)
- Use health checks
- Enable restart policies
- Log to syslog or json-file with rotation
- Use specific version tags (not just
latest) - Run as non-root (built-in)
- Mount config as read-only
β DON'T:
- Run containers with
--privileged - Use
latesttag in production (use specific versions) - Store secrets in environment variables
- Ignore health check failures
- Disable restart policies
- Map unnecessary ports
Docker Hub: https://hub.docker.com/r/themisdb/themisdb
GitHub Issues: https://github.com/makr-code/ThemisDB/issues
Deployment Strategy: Full Deployment Strategy
- Deployment Strategy - Overall build & deployment strategy
- Multi-Arch Docker Strategy - Detailed multi-architecture build guide
- vcpkg Offline Strategy - Offline-first dependency management
- QNAP Deployment - QNAP NAS specific deployment
- ARM/Raspberry Pi Build - ARM-specific build instructions
- README.md - Main deployment documentation index
Historical Docker build documentation (status reports, alternative approaches) available in archive/.
ThemisDB 1.9.0-beta Β· Home Β· Wiki-Index Β· Module-Index Β· FAQ Β· Quick-Reference Β· GitHub Β· Issues Β· Discussions Β· License
- Batch Operations
- Best Practices
- CRUD Tutorial
- Custom Document Ingestion
- Getting Started Tutorial
- Interactive Examples
- Schema Design
- Video Tutorials
- AQL Reference
- AQL Examples
- AQL Overview
- AQL Feature Roadmap
- AQL Geospatial Guide
- AQL LLM Migration Guide
- AQL API
- AQL Grammar (EBNF)
- AQL Root Overview
- AQL Examples (root)
- API Reference
- API Module README
- OpenAPI Overview
- Client SDK Overview
- SDK Overview
- Operations
- Operations Overview
- Operations Runbook
- Operations Handbook
- ThemisCtl Admin Guide
- Pipeline E2E SOPs
- Deploy Overview
- Docker Overview
- Docker Hub README
- Helm Overview
- Packaging Overview
- Operator Overview
- Security Policy
- Production Hardening Checklist
- Security Hardening Guide
- Encryption Key Management
- Access Control Framework
- Zero Trust Policy
- API Authentication & Authorization
- HSM Production Setup
- PKCS11 Integration
- DSGVO / SOC2 Checklist
- Access Model Runbooks
- Access Model Dashboard
- Maturity Automation Runbook
- Access Review Automation
- Access Model Dashboard
- Access Model Runbooks
- Rights Revocation
- Dr Checklists
- Dr Testing
- Incident Response Playbook
- Incident Response Testing
- GPU Oom Recovery
- Grammar Debugging
- Metrics Scrape Troubleshooting
- Model Swap Procedure
- Quota Tuning
- Subagent Deployment
- Logging Configuration
- Content Model
- Crypto & Keys
- Feature Flags Reference
- Modular Architecture Roadmap
- Modularization Guide
- Module Architecture Index
- PostgreSQL Wire Protocol
- Query Scheduling
- Raft Consensus Design
- Resource Pooling
- Source Directory Guide
- Unified Access Model
- E1 001 Layered Retrieval Design
- E1 002 Ann Abstraction Strategy
- E1 003 Tensor Summary Types
- E1 004 Lora Package Distinction
- E1 005 Model Switch Compatibility
- E1 006 Federated Tensor Summaries
- E2 001 Evaluation Framework Design
- E2 002 Hardware Profile Strategy
- E2 003 Query Planner Routing Model
- E2 004 Approximation Governance Rules
- E2 005 Cross Layer Fallback Confidence Policy
- E3 001 Distributed Tensor Design
- E3 002 Manifest Coordination Strategy
- E3 003 Recovery And Erasure Choice
- E3 004 Tensor Fabric Infrastructure
- Contributing
- Contributing (root)
- Code of Conduct
- Support
- Maintainers
- CTest Guide
- Build Quick Reference
- Developer Wiki Index
- Build / Test / CI
- Module Index
- Branching Strategy
- Disabled Stub Policy
- Docs PR Policy
- GA Promotion Sign Off
- Github Milestones Setup
- Maturity Claim Verification Checklist
- Maturity Evidence Registry
- Merge Gate Bot Config
- Merge Gate Status Live
- Phase 1 Closure Report
- Phase Closure Policy
- Phase Dependency Graph
- Phase3 Enforcement Runbook
- Plugin Submodule Rollback
- PR Version Targeting
- PR Version Targeting Backfill
- Production Ready 2026 Delivery Plan
- Query Module Status
- Readme
- Release Promotion Gate Policy
- Release Validation Checklist
- Security Module 5671 Evidence Summary
- Sharding P6 Residual Risk Acceptance
- Sourcecode Compliance Governance
- Updates Development Status Sign Off
- Wave C Implementation Complete
- Blob Storage
- Cuda
- Ethics Ai
- Exporters
- Huggingface
- Image Analysis
- Importers
- RPC
- Scraper
- Themisdb Ai Watermark Detector
- User Storage Encrypted
- Chimera Architecture
- Chimera Future
- Chimera Readme
- Chimera Roadmap
- Covina Fastapi Ingestion Architecture
- Covina Fastapi Ingestion Future
- Covina Fastapi Ingestion Roadmap
- Vcc Base Architecture
- Vcc Base Future
- Vcc Base Roadmap
- Vcc Clara Ingestion Architecture
- Vcc Clara Ingestion Future
- Vcc Clara Ingestion Roadmap
- Vcc Veritas Architecture
- Vcc Veritas Future
- Vcc Veritas Roadmap
- 01 Hello World
- 02 Todo App
- 03 Contact Manager
- 04 Inventory System
- 05 Time Series Monitor
- 06 Graph Social Network
- 07 Vector Search Documents
- 08 Dms Erp System
- 09 Iot Sensor Network
- 10 Drone Image Analysis
- 11 Blog Wiki
- 12 Expense Tracker
- 13 Recipe Manager
- 14 Ecommerce Catalog
- 15 Event Management
- 16 Kanban Board
- 17 Crm
- 18 Realtime Chat
- 19 Recommendation Engine
- 20 Smart Home
- 21 Coding Platform
- 22 AQL Diagram Tool
- 23 Traveling Salesman
- 24 Moral Philosophy Debates
- API Versioning
- Distributed Sharding
- Feedback Plugins
- Geo
- Gnn
- Image Analysis
- Legal Lora Training
- LLM
- Lora Sync
- Migration
- Nlp
- Performance
- Railway
- Replication
- Rope Visualization
- Sample Product Config
- Security
- Client SDK Overview
- Quickstart
- Sdk Enhancements
- Sdk Implementation Summary
- Test Suite Readme
- Go
- Java
- Javascript
- Php
- Python
- Ruby
- Rust
- Typescript
- 01 Grundlegende Operationen
- 02 AQL Queries
- 03 Graph Daten
- 04 Multimodell Anwendung
- 01 Quickstart Guide
- 02 AQL Referenz Kurzuebersicht
- 03 Datenmodellierung Guide
- 04 Uebungsaufgaben
- 05 Best Practices Guide
- Training Documents
- Training Overview
- 01 Einfuehrung Und Uebersicht
- 02 Datenmodelle Und Architektur
- 03 AQL Abfragesprache
- 04 Installation Und Setup
- 05 Anwendungsbeispiele
- Training Presentations
- Dependencies Readme
- Processmonitor Readme
- Themis.admintools.shared Readme
- Themis.aqlquerybuilder Readme
- Themis.aqlquerybuilder Roadmap
- Themis.auditlogviewer Readme
- Themis.auditlogviewer Roadmap
- Themis.classificationdashboard Readme
- Themis.classificationdashboard Roadmap
- Themis.compliancereports Readme
- Themis.compliancereports Roadmap
- Themis.gisviewer.controlpanel Readme
- Themis.gisviewer.controlpanel Roadmap
- Themis.impactanalysisviewer Readme
- Themis.impactanalysisviewer Roadmap
- Themis.ingestiontool Readme
- Themis.ingestiontool Roadmap
- Themis.keyrotationdashboard Readme
- Themis.keyrotationdashboard Roadmap
- Themis.piimanager Readme
- Themis.piimanager Roadmap
- Themis.retentionmanager Readme
- Themis.retentionmanager Roadmap
- Themis.sagaverifier Readme
- Themis.sagaverifier Roadmap
- Themis.usbadmintool Readme
- Themis.usbadmintool Roadmap
- CI Readme
- CI Roadmap
- Compiler Diagnostics Readme
- Compiler Diagnostics Roadmap
- Completion Readme
- Copilot Ollama Router Readme
- Copilot Ollama Router Roadmap
- Gnn Readme
- Gnn Roadmap
- Rope Visualizer Readme
- Rope Visualizer Roadmap
- Tco Calculator Readme
- Tco Calculator Roadmap
- Tests Readme
- Tests Roadmap
- Themis Config Wx Readme
- Themis Docs Builder Readme
- Wikipedia Ingestion Readme