services: hoppscotch-db: image: postgres:15 user: postgres environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-testpass} 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-dev-deps: build: dockerfile: prod.Dockerfile context: . target: base_builder env_file: - ./.env environment: DATABASE_URL: postgresql://postgres:${POSTGRES_PASSWORD:-testpass}@hoppscotch-db:5432/${POSTGRES_DB:-hoppscotch} working_dir: /usr/src/app command: ["pnpm", "install", "-f", "--prefer-offline"] volumes: - .:/usr/src/app - hoppscotch-node-modules:/usr/src/app/node_modules - hoppscotch-pnpm-store:/root/.local/share/pnpm/store/v10 hoppscotch-backend: container_name: hoppscotch-backend-dev restart: unless-stopped build: dockerfile: prod.Dockerfile context: . target: base_builder env_file: - ./.env environment: DATABASE_URL: postgresql://postgres:${POSTGRES_PASSWORD:-testpass}@hoppscotch-db:5432/${POSTGRES_DB:-hoppscotch} depends_on: hoppscotch-db: condition: service_healthy hoppscotch-dev-deps: condition: service_completed_successfully working_dir: /usr/src/app/packages/hoppscotch-backend command: [ "sh", "-c", "pnpm exec prisma migrate deploy && pnpm run start:dev", ] volumes: - .:/usr/src/app - hoppscotch-node-modules:/usr/src/app/node_modules - hoppscotch-pnpm-store:/root/.local/share/pnpm/store/v10 ports: - "3170:3170" hoppscotch-app: container_name: hoppscotch-app-dev restart: unless-stopped build: dockerfile: prod.Dockerfile context: . target: base_builder env_file: - ./.env depends_on: hoppscotch-dev-deps: condition: service_completed_successfully hoppscotch-backend: condition: service_started working_dir: /usr/src/app/packages/hoppscotch-selfhost-web command: [ "sh", "-c", "pnpm run dev:gql-codegen & pnpm exec vite --host 0.0.0.0 --port 3000", ] volumes: - .:/usr/src/app - hoppscotch-node-modules:/usr/src/app/node_modules - hoppscotch-pnpm-store:/root/.local/share/pnpm/store/v10 ports: - "3000:3000" hoppscotch-sh-admin: container_name: hoppscotch-sh-admin-dev restart: unless-stopped build: dockerfile: prod.Dockerfile context: . target: base_builder env_file: - ./.env depends_on: hoppscotch-dev-deps: condition: service_completed_successfully hoppscotch-backend: condition: service_started working_dir: /usr/src/app/packages/hoppscotch-sh-admin command: [ "sh", "-c", "pnpm run dev:gql-codegen & pnpm exec vite --host 0.0.0.0 --port 3100", ] volumes: - .:/usr/src/app - hoppscotch-node-modules:/usr/src/app/node_modules - hoppscotch-pnpm-store:/root/.local/share/pnpm/store/v10 ports: - "3100:3100" volumes: hoppscotch-db: hoppscotch-node-modules: hoppscotch-pnpm-store: