Service Architecture

Networks

The application uses two Docker networks:

  • internal_net: Bridge network for internal communication

  • external_net: Bridge network for external communication

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 data

  • DataSpace_caddy_data: Caddy web server data

Services

Database Service

  • Image: postgres:15

  • Container: DataSpace_database

  • Purpose: PostgreSQL database for application data

Database Backup Service

  • Image: prodrigestivill/postgres-backup-local

  • Container: DataSpace_pgbackups

  • Purpose: Automated database backups

Docker Socket Proxy

  • Image: tecnativa/docker-socket-proxy

  • Container: DataSpace_docker_socket_proxy

  • Purpose: Secure Docker API access for the application

DataSpace API Service

  • Image: ghcr.io/dataspaceswiss/api:${API_VERSION:-latest}

  • Container: DataSpace_api

  • Purpose: Main application API

Ollama Service

  • Image: ghcr.io/dataspaceswiss/ollama:${OLLAMA_VERSION:-latest}

  • Container: DataSpace_ollama

  • Purpose: AI model server

DataSpace Frontend Service

  • Image: ghcr.io/dataspaceswiss/frontend:${FRONTEND_VERSION:-latest}

  • Container: DataSpace_frontend

  • Purpose: Web user interface

Caddy Service

  • Image: caddy:latest

  • Container: DataSpace_caddy

  • Purpose: Reverse proxy and SSL termination

  • Ports: 80, 443 (exposed to host)

Last updated