services: app: image: node:20-alpine working_dir: /app # Use pnpm since the project uses it, and run the next dev script directly command: sh -c "corepack enable pnpm && pnpm i && pnpm dev:next" volumes: - .:/app environment: NODE_ENV: development # Docker Internal Communication DIRECTUS_URL: http://directus:8055 # Build / dependency installation NPM_TOKEN: ${NPM_TOKEN} CI: 'true' # ports: # - "3000:3000" labels: - "traefik.enable=true" # Clear all production-related TLS/Middleware settings for the main routers - "traefik.http.routers.${PROJECT_NAME:-mb-grid-solutions}.entrypoints=web" - "traefik.http.routers.${PROJECT_NAME:-mb-grid-solutions}.rule=Host(`${TRAEFIK_HOST:-mb-grid-solutions.localhost}`)" - "traefik.http.routers.${PROJECT_NAME:-mb-grid-solutions}.tls=false" - "traefik.http.routers.${PROJECT_NAME:-mb-grid-solutions}.middlewares=" # Remove Gatekeeper for local dev simply by not defining it or overwriting? # Actually, gatekeeper is a separate service. We can keep it or ignore it. # But the app router normally points to gatekeeper middleware. # By clearing middlewares above, we bypass gatekeeper for local dev. directus: labels: - "traefik.enable=true" - "traefik.http.routers.${PROJECT_NAME:-mb-grid-solutions}-directus.entrypoints=web" - "traefik.http.routers.${PROJECT_NAME:-mb-grid-solutions}-directus.rule=Host(`cms.mb-grid.localhost`)" - "traefik.http.routers.${PROJECT_NAME:-mb-grid-solutions}-directus.tls=false" - "traefik.http.routers.${PROJECT_NAME:-mb-grid-solutions}-directus.middlewares=" # ports: # - "8055:8055" environment: PUBLIC_URL: http://cms.mb-grid.localhost