Service Architecture
Networks
Section titled “Networks”The application uses two Docker networks:
internal_net: Bridge network for internal communicationexternal_net: Bridge network for external communication
Volumes
Section titled “Volumes”The system uses several named volumes for data persistence:
DataSpace_data: Main application data (bind mount to./volume/DataSpace_data)DataSpace_db_data: PostgreSQL database data (bind mount to./volume/DataSpace_db_data)DataSpace_db_backup: Database backups (bind mount to./volume/DataSpace_db_backup)DataSpace_ollama_data: Ollama AI model dataDataSpace_caddy_data: Caddy web server data
Services
Section titled “Services”Database Service
Section titled “Database Service”- Image:
postgres:15 - Container:
DataSpace_database - Purpose: PostgreSQL database for application data
Database Backup Service
Section titled “Database Backup Service”- Image:
prodrigestivill/postgres-backup-local - Container:
DataSpace_pgbackups - Purpose: Automated database backups
Docker Socket Proxy
Section titled “Docker Socket Proxy”- Image:
tecnativa/docker-socket-proxy - Container:
DataSpace_docker_socket_proxy - Purpose: Secure Docker API access for the application
DataSpace API Service
Section titled “DataSpace API Service”- Image:
ghcr.io/dataspaceswiss/api:${API_VERSION:-latest} - Container:
DataSpace_api - Purpose: Main application API
Ollama Service
Section titled “Ollama Service”- Image:
ghcr.io/dataspaceswiss/ollama:${OLLAMA_VERSION:-latest} - Container:
DataSpace_ollama - Purpose: AI model server
DataSpace Frontend Service
Section titled “DataSpace Frontend Service”- Image:
ghcr.io/dataspaceswiss/frontend:${FRONTEND_VERSION:-latest} - Container:
DataSpace_frontend - Purpose: Web user interface
Caddy Service
Section titled “Caddy Service”- Image:
caddy:latest - Container:
DataSpace_caddy - Purpose: Reverse proxy and SSL termination
- Ports: 80, 443 (exposed to host)
