services: postgres: image: ankane/pgvector:latest container_name: synq-core-db environment: POSTGRES_DB: synq_core POSTGRES_USER: synq POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-synq_secure_pass} volumes: - synq_pgdata:/var/lib/postgresql/data - ./migrations:/docker-entrypoint-initdb.d ports: - "${POSTGRES_PORT:-5433}:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U synq -d synq_core"] interval: 5s timeout: 5s retries: 5 networks: - synq-core-net synq-core: build: context: . dockerfile: Dockerfile container_name: synq-core-runtime environment: DATABASE_URL: postgres://synq:${POSTGRES_PASSWORD:-synq_secure_pass}@postgres:5432/synq_core RUST_LOG: info SYNQ_OLLAMA_URL: ${SYNQ_OLLAMA_URL:-http://host.docker.internal:11434} env_file: - .env depends_on: postgres: condition: service_healthy volumes: - synq_data:/app/data - synq_keys:/app/keys networks: - synq-core-net command: ["./synq-cli", "chat"] volumes: synq_pgdata: synq_data: synq_keys: networks: synq-core-net: driver: bridge