Skip to main content
Documentation
Deployment

Deployment Guide

A planned guide for deploying a hosted Dits server, intended to support Docker, Kubernetes, and cloud-managed solutions.

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 (planned, not yet available)
  • 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

VariableDescriptionDefaultRequired
DATABASE_URLPostgreSQL connection string-
REDIS_URLRedis connection URLredis://localhost:6379-
JWT_SECRETSecret for JWT token signing-
STORAGE_TYPEStorage backend (local, s3, minio)local-
API_PORTPort for API server8080-

Security Considerations

Network Security
  • HTTPS/TLS 1.3 encryption
  • Network segmentation
  • Firewall rules
  • VPN for admin access
Data Security
  • At-rest encryption
  • Content integrity verification
  • Backup encryption
  • Secure key management

Monitoring & Maintenance

Key Metrics to Monitor

Performance
  • API response times
  • Chunk upload/download speeds
  • Database query latency
  • Cache hit rates
Resources
  • CPU utilization
  • Memory usage
  • Disk I/O
  • Network bandwidth
Business
  • Active users
  • Storage usage
  • Repository count
  • API call volume

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

Professional Services
  • Deployment consulting
  • Performance optimization
  • Enterprise integration
  • Custom development