services: postgres: image: ankane/pgvector:latest environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: abcd1234! POSTGRES_DB: postgres ports: - 5433:5432 healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 10 start_period: 10s networks: - test-network setup: build: context: .. dockerfile: setup/Dockerfile command: bash -c "npm install pg-boss && node /app/server/setup/create_database.js && PGPASSWORD=${DB_PASSWORD_ADMIN} psql -h postgres -U postgres -d postgres -c 'CREATE DATABASE server;' && PGPASSWORD=${DB_PASSWORD_ADMIN} psql -h postgres -U postgres -d server -c 'CREATE SCHEMA IF NOT EXISTS pgboss;' && npx knex migrate:latest --knexfile /app/knexfile.cjs && npx knex seed:run --knexfile /app/knexfile.cjs && exit" environment: DB_HOST: postgres DB_PORT: 5432 DB_USER_ADMIN: postgres DB_PASSWORD_ADMIN: abcd1234! DB_PASSWORD_SUPERUSER: abcd1234! DB_NAME_SERVER: server DB_USER_SERVER: app_user DB_PASSWORD_SERVER: abcd1234! APP_ENV: development DB_TYPE: postgres NODE_OPTIONS: --experimental-vm-modules KNEXFILE: /app/knexfile.cjs depends_on: postgres: condition: service_healthy networks: - test-network networks: test-network: driver: bridge