2026-05-06 13:06:35 +00:00
|
|
|
services:
|
|
|
|
|
hoppscotch-db:
|
|
|
|
|
image: postgres:15
|
|
|
|
|
user: postgres
|
|
|
|
|
environment:
|
2026-05-06 14:30:10 +00:00
|
|
|
- POSTGRES_USER=postgres
|
|
|
|
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES:-testpass}
|
|
|
|
|
- POSTGRES_DB=${POSTGRES_DB:-hoppscotch}
|
2026-05-06 13:06:35 +00:00
|
|
|
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-backend:
|
|
|
|
|
container_name: hoppscotch-backend
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
image: ${API_CLIENT_REGISTRY:-forge.lclr.dev}/${API_CLIENT_NAMESPACE:-thibaud-lclr}/${API_CLIENT_IMAGE_PREFIX:-api-client}-backend:${API_CLIENT_TAG:-latest}
|
|
|
|
|
environment:
|
2026-05-06 14:30:10 +00:00
|
|
|
- DATABASE_URL=postgresql://postgres:${SERVICE_PASSWORD_POSTGRES:-testpass}@hoppscotch-db:5432/${POSTGRES_DB:-hoppscotch}
|
|
|
|
|
- DATA_ENCRYPTION_KEY=${SERVICE_BASE64_DATA_ENCRYPTION_KEY:-0123456789abcdef0123456789abcdef}
|
|
|
|
|
- VITE_BASE_URL=${SERVICE_URL_HOPPSCOTCH_APP:-http://localhost:3000}
|
|
|
|
|
- VITE_SHORTCODE_BASE_URL=${SERVICE_URL_HOPPSCOTCH_APP:-http://localhost:3000}
|
|
|
|
|
- VITE_ADMIN_URL=${SERVICE_URL_HOPPSCOTCH_ADMIN:-http://localhost:3100}
|
|
|
|
|
- VITE_BACKEND_GQL_URL=${SERVICE_URL_HOPPSCOTCH_BACKEND:-http://localhost:3170}/graphql
|
|
|
|
|
- VITE_BACKEND_WS_URL=wss://${SERVICE_FQDN_HOPPSCOTCH_BACKEND:-localhost:3170}/graphql
|
|
|
|
|
- VITE_BACKEND_API_URL=${SERVICE_URL_HOPPSCOTCH_BACKEND:-http://localhost:3170}/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=${ENABLE_SUBPATH_BASED_ACCESS:-false}
|
|
|
|
|
- WHITELISTED_ORIGINS=${SERVICE_URL_HOPPSCOTCH_APP:-http://localhost:3000},${SERVICE_URL_HOPPSCOTCH_ADMIN:-http://localhost:3100}
|
|
|
|
|
- TRUST_PROXY=${TRUST_PROXY:-true}
|
2026-05-06 13:06:35 +00:00
|
|
|
depends_on:
|
|
|
|
|
hoppscotch-db:
|
|
|
|
|
condition: service_healthy
|
|
|
|
|
command:
|
2026-05-06 14:30:10 +00:00
|
|
|
["sh", "-c", "pnpm exec prisma migrate deploy && node prod_run.mjs"]
|
2026-05-06 13:06:35 +00:00
|
|
|
ports:
|
|
|
|
|
- "3170:3170"
|
|
|
|
|
|
|
|
|
|
hoppscotch-app:
|
|
|
|
|
container_name: hoppscotch-app
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
image: ${API_CLIENT_REGISTRY:-forge.lclr.dev}/${API_CLIENT_NAMESPACE:-thibaud-lclr}/${API_CLIENT_IMAGE_PREFIX:-api-client}-app:${API_CLIENT_TAG:-latest}
|
2026-05-06 14:30:10 +00:00
|
|
|
environment:
|
|
|
|
|
- VITE_BASE_URL=${SERVICE_URL_HOPPSCOTCH_APP:-http://localhost:3000}
|
|
|
|
|
- VITE_SHORTCODE_BASE_URL=${SERVICE_URL_HOPPSCOTCH_APP:-http://localhost:3000}
|
|
|
|
|
- VITE_ADMIN_URL=${SERVICE_URL_HOPPSCOTCH_ADMIN:-http://localhost:3100}
|
|
|
|
|
- VITE_BACKEND_GQL_URL=${SERVICE_URL_HOPPSCOTCH_BACKEND:-http://localhost:3170}/graphql
|
|
|
|
|
- VITE_BACKEND_WS_URL=wss://${SERVICE_FQDN_HOPPSCOTCH_BACKEND:-localhost:3170}/graphql
|
|
|
|
|
- VITE_BACKEND_API_URL=${SERVICE_URL_HOPPSCOTCH_BACKEND:-http://localhost:3170}/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=${ENABLE_SUBPATH_BASED_ACCESS:-false}
|
2026-05-06 13:06:35 +00:00
|
|
|
depends_on:
|
|
|
|
|
hoppscotch-backend:
|
|
|
|
|
condition: service_started
|
|
|
|
|
ports:
|
|
|
|
|
- "3000:3000"
|
|
|
|
|
- "3200:3200"
|
|
|
|
|
|
|
|
|
|
hoppscotch-sh-admin:
|
|
|
|
|
container_name: hoppscotch-sh-admin
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
image: ${API_CLIENT_REGISTRY:-forge.lclr.dev}/${API_CLIENT_NAMESPACE:-thibaud-lclr}/${API_CLIENT_IMAGE_PREFIX:-api-client}-sh-admin:${API_CLIENT_TAG:-latest}
|
2026-05-06 14:30:10 +00:00
|
|
|
environment:
|
|
|
|
|
- VITE_BASE_URL=${SERVICE_URL_HOPPSCOTCH_APP:-http://localhost:3000}
|
|
|
|
|
- VITE_SHORTCODE_BASE_URL=${SERVICE_URL_HOPPSCOTCH_APP:-http://localhost:3000}
|
|
|
|
|
- VITE_ADMIN_URL=${SERVICE_URL_HOPPSCOTCH_ADMIN:-http://localhost:3100}
|
|
|
|
|
- VITE_BACKEND_GQL_URL=${SERVICE_URL_HOPPSCOTCH_BACKEND:-http://localhost:3170}/graphql
|
|
|
|
|
- VITE_BACKEND_API_URL=${SERVICE_URL_HOPPSCOTCH_BACKEND:-http://localhost:3170}/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=${ENABLE_SUBPATH_BASED_ACCESS:-false}
|
2026-05-06 13:06:35 +00:00
|
|
|
depends_on:
|
|
|
|
|
hoppscotch-backend:
|
|
|
|
|
condition: service_started
|
|
|
|
|
ports:
|
|
|
|
|
- "3100:3100"
|
|
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
|
hoppscotch-db:
|