version: '3.9' services: postgres: image: postgres:14.2-alpine3.15 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=auth ports: - 5432:5432 db-migrations: build: context: . dockerfile: Dockerfile.migrations environment: - DATABASE_URL=postgres://postgres:postgres@postgres:5432/auth?sslmode=disable command: ["--wait", "up"] profiles: ["migrations"] depends_on: - postgres auth-api: build: . environment: - ADMIN_API_KEY=hihi - DATABASE_URL=postgres://postgres:postgres@postgres:5432/auth?sslmode=disable - JWT_SHARED_SECRET=hihi - WEB_BIND_HOST=:4000 depends_on: - postgres ports: - 4000:4000 tests: build: context: tests environment: - ADMIN_API_KEY=hihi - AUTH_URL=http://auth-api:4000 - JWT_SHARED_SECRET=hihi profiles: ["tests"] depends_on: - auth-api