Deployment Guide
Deploy Dits in production environments with high availability, scalability, and security. Choose from Docker, Kubernetes, or cloud-managed solutions.
Production Ready
Dits is designed for production deployment with built-in monitoring, backups, and scaling capabilities.
Deployment Options
Self-Hosted
Full control with Docker/Kubernetes
- Complete data sovereignty
- Custom scaling policies
- On-premise deployment
- Enterprise security
Most Flexible
Cloud Managed
Hosted platform with Ditshub
- Zero infrastructure management
- Automatic scaling
- Built-in backups
- Global CDN
Easiest
Hybrid
Mix of self-hosted and cloud
- Sensitive data on-premise
- Public assets in cloud
- Geographic compliance
- Cost optimization
Balanced
Architecture Overview
Core Components
API Server
REST API, authentication, metadata
Storage Service
Chunk storage, deduplication, retrieval
Database
PostgreSQL for metadata, Redis for caching
Worker Queue
Background processing, cleanup, maintenance
Data Flow
→Client uploads file via API
→Storage service chunks and stores
→Metadata saved to database
→Workers handle cleanup and optimization
Prerequisites
Compute Requirements
API Server:
2-4 vCPUs, 4-8GB RAM
Storage Service:
4-8 vCPUs, 16-32GB RAM
Database:
4-8 vCPUs, 16-32GB RAM
Workers:
2-4 vCPUs, 8-16GB RAM
Scaling Guidelines
Small Teams (1-50 users):
Single server, 8-16 vCPUs total
Medium Teams (50-500 users):
3-5 servers, load balancing
Large Organizations:
Kubernetes cluster, auto-scaling
Quick Start Deployments
Docker Compose (Development)
Perfect for testing and small teams
Components:
- PostgreSQL database
- Redis cache
- Dits API server
- MinIO object storage
Setup time: 5-10 minutes
View Docker deployment guide →Kubernetes (Production)
Scalable production deployment
Features:
- Auto-scaling
- Rolling updates
- Persistent storage
- Service mesh
Setup time: 30-60 minutes
View Kubernetes deployment guide →Configuration
Environment Variables
| Variable | Description | Default | Required |
|---|---|---|---|
| DATABASE_URL | PostgreSQL connection string | - | |
| REDIS_URL | Redis connection URL | redis://localhost:6379 | - |
| JWT_SECRET | Secret for JWT token signing | - | |
| STORAGE_TYPE | Storage backend (local, s3, minio) | local | - |
| API_PORT | Port for API server | 8080 | - |
Security Considerations
Network Security
Data Security
Monitoring & Maintenance
Health Checks
All services expose health check endpoints at
/health for load balancer monitoring.Key Metrics to Monitor
Performance
Resources
Business
Backup & Recovery
Backup Strategy
Database Backups
- Daily full backups
- Hourly incremental backups
- Point-in-time recovery
- Encrypted storage
Chunk Storage Backups
- Cross-region replication
- Immutable backups
- Content verification
- Retention policies
Support & Resources
Documentation
Professional Services
- Deployment consulting
- Performance optimization
- Enterprise integration
- Custom development
Need Help?
For deployment assistance or enterprise requirements,contact our team orjoin the community.