services: database: image: postgres:15 restart: always container_name: database ports: - '${POSTGRES_PORT:-5432}:5432' environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - database:/var/lib/postgresql/data healthcheck: test: [ 'CMD-SHELL', 'pg_isready -U postgres'] interval: 10s timeout: 5s retries: 5 graphql-server: image: hasura/graphql-engine:latest.cli-migrations-v3 restart: always container_name: graphql-server ports: - '${HASURA_PORT:-8080}:8080' environment: HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET} HASURA_GRAPHQL_CORS_DOMAIN: https://${NEXT_PUBLIC_HASURA_DOMAIN} HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD}@database:5432/postgres HASURA_GRAPHQL_DEV_MODE: false HASURA_GRAPHQL_ENABLE_CONSOLE: true HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log HASURA_GRAPHQL_JWT_SECRET: ${HASURA_GRAPHQL_JWT_SECRET} volumes: - ./migrations:/hasura-migrations - ./metadata:/hasura-metadata depends_on: database: condition: service_healthy extra_hosts: - 'host.docker.internal:host-gateway' authentication-server: image: ghcr.io/successible/cleanslate/authentication-server:latest build: context: . dockerfile: Dockerfile.server pull_policy: ${PULL_POLICY:-always} restart: always container_name: authentication-server ports: - '${AUTHENTICATION_SERVER_PORT:-3001}:3001' environment: HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET} JWT_SIGNING_SECRET: ${JWT_SIGNING_SECRET} NEXT_PUBLIC_USE_FIREBASE: ${NEXT_PUBLIC_USE_FIREBASE:-false} depends_on: - database - graphql-server extra_hosts: - 'host.docker.internal:host-gateway' client: image: ghcr.io/successible/cleanslate/client:latest build: context: . dockerfile: Dockerfile args: - NEXT_PUBLIC_FIREBASE_CONFIG=${NEXT_PUBLIC_FIREBASE_CONFIG:-{}} - NEXT_PUBLIC_LEGAL_LINK=${NEXT_PUBLIC_LEGAL_LINK:-no} - NEXT_PUBLIC_LOGIN_WITH_APPLE=${NEXT_PUBLIC_LOGIN_WITH_APPLE:-no} - NEXT_PUBLIC_LOGIN_WITH_FACEBOOK=${NEXT_PUBLIC_LOGIN_WITH_FACEBOOK:-no} - NEXT_PUBLIC_LOGIN_WITH_GITHUB=${NEXT_PUBLIC_LOGIN_WITH_GITHUB:-no} - NEXT_PUBLIC_LOGIN_WITH_GOOGLE=${NEXT_PUBLIC_LOGIN_WITH_GOOGLE:-no} - NEXT_PUBLIC_REACT_SENTRY_DSN=${NEXT_PUBLIC_REACT_SENTRY_DSN:-no} - NEXT_PUBLIC_USE_FIREBASE=${NEXT_PUBLIC_USE_FIREBASE:-false} - NEXT_PUBLIC_VERSION=${NEXT_PUBLIC_VERSION} pull_policy: ${PULL_POLICY:-always} restart: always container_name: client ports: - '${CLIENT_PORT:-3000}:3000' depends_on: - database - graphql-server extra_hosts: - 'host.docker.internal:host-gateway' volumes: database: