Skip to main content

Docker Services

Vidra ships a Docker Compose configuration that covers every service you need for local development. Core services (API, database, cache, proxy) always start together. Optional services are activated via Docker Compose profiles and only need to run when you're working on a specific feature.

Using Docker Compose profiles

Start only what you need to keep resource usage low:

# Core services only (most development)
docker compose up

# Add IPFS support
docker compose --profile ipfs up

# Add email capture
docker compose --profile mail up

# Add virus scanning
docker compose --profile clamav up

# Everything
docker compose --profile full up

See the CLI Setup guide for the full profile reference.

Services Overview

The diagram below shows which services are always-on (Core) and which are optional. Arrows indicate direct API dependencies from the Vidra API server.

Core Services

ServicePortPurpose
Vidra API8080Main Go API server — handles all HTTP requests
PostgreSQL5432Primary relational database for video metadata, users, channels
Redis6379In-memory cache for hot data and background job queue
Nginx80 / 443Reverse proxy — routes traffic to the API, serves static files

Optional Services

ServicePortPurposeWhen to enable
IPFS Node5001 (API), 8081 (gateway)Decentralized storage and P2P distributionWorking on IPFS/WebTorrent features
Mailpit SMTP1025 (SMTP), 8025 (UI)Email capture — view emails sent during development at :8025Working on email notifications
ClamAV3310Virus scanning for uploaded filesTesting upload safety checks
Whisper AIAutomatic captions generation via WhisperWorking on accessibility/captioning
IOTA Node14265DLT payment node for monetization featuresWorking on IOTA integration

Development Network Ports

All services expose ports locally on localhost. The port numbers are chosen to match their default upstream values to minimize configuration surprises.

ServiceInternal PortExternal PortPurpose
Vidra API80808080Main API server
PostgreSQL54325432Database
Redis63796379Cache
Nginx80/44380/443Reverse proxy
IPFS API50015001IPFS management
IPFS Gateway80818081IPFS content serving
Mailpit SMTP10251025Email capture
Mailpit UI80258025Email viewer
ClamAV33103310Virus scanning
IOTA1426514265Payment node