The application uses two Docker networks:
internal_net: Bridge network for internal communication
external_net: Bridge network for external communication
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 data
DataSpace_caddy_data: Caddy web server data
Image: postgres:15
Container: DataSpace_database
Purpose: PostgreSQL database for application data
Image: prodrigestivill/postgres-backup-local
Container: DataSpace_pgbackups
Purpose: Automated database backups
Image: tecnativa/docker-socket-proxy
Container: DataSpace_docker_socket_proxy
Purpose: Secure Docker API access for the application
Image: ghcr.io/dataspaceswiss/api:${API_VERSION:-latest}
Container: DataSpace_api
Purpose: Main application API
Image: ghcr.io/dataspaceswiss/ollama:${OLLAMA_VERSION:-latest}
Container: DataSpace_ollama
Purpose: AI model server
Image: ghcr.io/dataspaceswiss/frontend:${FRONTEND_VERSION:-latest}
Container: DataSpace_frontend
Purpose: Web user interface
Image: caddy:latest
Container: DataSpace_caddy
Purpose: Reverse proxy and SSL termination
Ports: 80, 443 (exposed to host)