services: hoppscotch-db: image: postgres:15 user: postgres environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES} - POSTGRES_DB=${POSTGRES_DB:-hoppscotch} volumes: - hoppscotch-db:/var/lib/postgresql/data healthcheck: test: [ "CMD-SHELL", "sh -c 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'", ] interval: 5s timeout: 5s retries: 10 hoppscotch: restart: unless-stopped image: ${API_CLIENT_REGISTRY:-forge.lclr.dev}/${API_CLIENT_NAMESPACE:-thibaud-lclr}/${API_CLIENT_IMAGE_PREFIX:-api-client}-aio:${API_CLIENT_TAG:-latest} environment: - SERVICE_BASE64_HOPPSCOTCH - DATABASE_URL=postgresql://postgres:${SERVICE_PASSWORD_POSTGRES}@hoppscotch-db:5432/${POSTGRES_DB:-hoppscotch} - DATA_ENCRYPTION_KEY=${SERVICE_BASE64_HOPPSCOTCH} - REDIRECT_URL=${COOLIFY_URL} - VITE_BASE_URL=${COOLIFY_URL} - VITE_SHORTCODE_BASE_URL=${COOLIFY_URL} - VITE_ADMIN_URL=${COOLIFY_URL}/admin - VITE_BACKEND_GQL_URL=${COOLIFY_URL}/backend/graphql - VITE_BACKEND_WS_URL=wss://${COOLIFY_FQDN}/backend/graphql - VITE_BACKEND_API_URL=${COOLIFY_URL}/backend/v1 - VITE_APP_TOS_LINK=${VITE_APP_TOS_LINK:-https://docs.hoppscotch.io/support/terms} - VITE_APP_PRIVACY_POLICY_LINK=${VITE_APP_PRIVACY_POLICY_LINK:-https://docs.hoppscotch.io/support/privacy} - VITE_PROXYSCOTCH_ACCESS_TOKEN=${VITE_PROXYSCOTCH_ACCESS_TOKEN:-} - ENABLE_SUBPATH_BASED_ACCESS=true - WHITELISTED_ORIGINS=${COOLIFY_URL}/backend,${COOLIFY_URL},${COOLIFY_URL}/admin - TRUST_PROXY=${TRUST_PROXY:-true} depends_on: hoppscotch-db: condition: service_healthy command: [ "sh", "-c", "pnpm exec prisma migrate deploy && node /usr/src/app/aio_run.mjs", ] volumes: hoppscotch-db: