services: main: depends_on: postgres: condition: service_healthy environment: POSTGRES_HOST: postgres POSTGRES_PORT: "5432" POSTGRES_DB: "${POSTGRES_DB:-x_financial}" POSTGRES_USER: "${POSTGRES_USER:-x_financial}" POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:-x_financial}" DATABASE_URL: "postgresql+psycopg://${POSTGRES_USER:-x_financial}:${POSTGRES_PASSWORD:-x_financial}@postgres:5432/${POSTGRES_DB:-x_financial}" postgres: image: pgvector/pgvector:pg17 container_name: x-financial-postgres restart: unless-stopped environment: POSTGRES_DB: "${POSTGRES_DB:-x_financial}" POSTGRES_USER: "${POSTGRES_USER:-x_financial}" POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:-x_financial}" ports: - "${POSTGRES_HOST_PORT:-55432}:5432" volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U \"$${POSTGRES_USER}\" -d \"$${POSTGRES_DB}\""] interval: 15s timeout: 5s retries: 10 start_period: 30s networks: - financial-internal volumes: postgres-data: