# Infrastructure services only — provisions remote-host infra (postgres, # consumed by litellm on that host). The Local Studio app itself does not # consume postgres. # Controller and frontend run natively on the host (not in Docker) # because they need nvidia-smi access and host process visibility. services: postgres: image: postgres:16 container_name: local-studio-postgres # Bind to loopback only — the native controller connects from the same host. # Do not expose Postgres on all interfaces. ports: - "127.0.0.1:5432:5432" environment: - POSTGRES_USER=${POSTGRES_USER:-postgres} # Set POSTGRES_PASSWORD in .env.local; the default is for local dev only. - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres} - POSTGRES_DB=${POSTGRES_DB:-local_studio} volumes: - ./data/postgres:/var/lib/postgresql/data restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 5s retries: 5