services: gatekeeper-proxy: image: alpine:latest command: sleep infinity restart: unless-stopped networks: - infra labels: - "caddy=http://gatekeeper.localhost" - "caddy.route=/*" - "caddy.route.0_redir=/ /gatekeeper/login 302" - "caddy.route.1_reverse_proxy=gatekeeper-app:3000" gatekeeper-app: image: node:20-alpine working_dir: /app volumes: - .:/app - gatekeeper_root_node_modules:/app/node_modules - gatekeeper_pkg_node_modules:/app/packages/gatekeeper/node_modules - gatekeeper_next_cache:/app/packages/gatekeeper/.next - gatekeeper_pnpm_store:/pnpm environment: - NODE_ENV=development - NPM_TOKEN=${NPM_TOKEN:-} networks: - infra command: > sh -c "corepack enable && pnpm config set store-dir /pnpm && pnpm install --no-frozen-lockfile && pnpm --filter @mintel/gatekeeper run dev --hostname 0.0.0.0 --port 3000" networks: infra: external: true volumes: gatekeeper_root_node_modules: gatekeeper_pkg_node_modules: gatekeeper_next_cache: gatekeeper_pnpm_store: