41 lines
1.8 KiB
YAML
41 lines
1.8 KiB
YAML
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(`${DIRECTUS_HOST:-cms.mb-grid-solutions.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://${DIRECTUS_HOST:-cms.mb-grid-solutions.localhost}
|