84 lines
3.4 KiB
YAML
84 lines
3.4 KiB
YAML
services:
|
|
klz-app:
|
|
image: node:20-alpine
|
|
working_dir: /app
|
|
command: sh -c "npm install --legacy-peer-deps && npx next dev"
|
|
networks:
|
|
- default
|
|
- infra
|
|
volumes:
|
|
- .:/app
|
|
environment:
|
|
NODE_ENV: development
|
|
# Docker Internal Communication
|
|
DIRECTUS_URL: http://directus:8055
|
|
INTERNAL_DIRECTUS_URL: http://directus:8055
|
|
INFRA_DIRECTUS_URL: http://cms-infra-infra-cms-1:8055
|
|
GATEKEEPER_URL: http://gatekeeper:3000
|
|
DIRECTUS_API_TOKEN: ${DIRECTUS_API_TOKEN}
|
|
INFRA_DIRECTUS_TOKEN: ${INFRA_DIRECTUS_TOKEN}
|
|
NEXT_PUBLIC_FEEDBACK_ENABLED: ${NEXT_PUBLIC_FEEDBACK_ENABLED}
|
|
GATEKEEPER_BYPASS_ENABLED: ${GATEKEEPER_BYPASS_ENABLED}
|
|
ports:
|
|
- "3000:3000"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
# Global local settings
|
|
- "traefik.http.routers.klz-cables-local.entrypoints=web"
|
|
- "traefik.http.routers.klz-cables-local.rule=Host(`klz.localhost`)"
|
|
- "traefik.http.routers.klz-cables-local.tls=false"
|
|
- "traefik.http.routers.klz-cables-local.middlewares="
|
|
- "traefik.http.routers.klz-cables-local.service=klz-cables-local"
|
|
- "traefik.http.services.klz-cables-local.loadbalancer.server.port=3000"
|
|
- "traefik.docker.network=infra"
|
|
|
|
# Web direct router
|
|
- "traefik.http.routers.klz-cables-local-web.entrypoints=web"
|
|
- "traefik.http.routers.klz-cables-local-web.rule=Host(`klz.localhost`)"
|
|
- "traefik.http.routers.klz-cables-local-web.tls=false"
|
|
- "traefik.http.routers.klz-cables-local-web.middlewares="
|
|
- "traefik.http.routers.klz-cables-local-web.service=klz-cables-local"
|
|
|
|
directus:
|
|
networks:
|
|
- default
|
|
- infra
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.klz-cables-directus-local.entrypoints=web"
|
|
- "traefik.http.routers.klz-cables-directus-local.rule=Host(`cms.klz.localhost`)"
|
|
- "traefik.http.routers.klz-cables-directus-local.tls=false"
|
|
- "traefik.http.routers.klz-cables-directus-local.middlewares="
|
|
- "traefik.http.routers.klz-cables-directus-local.service=klz-cables-directus-local"
|
|
- "traefik.http.services.klz-cables-directus-local.loadbalancer.server.port=8055"
|
|
- "traefik.docker.network=infra"
|
|
ports:
|
|
- "${DIRECTUS_PORT:-8055}:8055"
|
|
environment:
|
|
PUBLIC_URL: http://cms.klz.localhost
|
|
|
|
gatekeeper:
|
|
image: node:20-alpine
|
|
working_dir: /app/packages/gatekeeper
|
|
command: sh -c "corepack enable && CI=true NPM_TOKEN=dummy pnpm install --no-frozen-lockfile && pnpm dev"
|
|
volumes:
|
|
- /Users/marcmintel/Projects/at-mintel:/app
|
|
networks:
|
|
- default
|
|
- infra
|
|
environment:
|
|
DIRECTUS_URL: http://directus:8055
|
|
NEXT_PUBLIC_BASE_URL: http://gatekeeper.klz.localhost
|
|
DIRECTUS_ADMIN_EMAIL: ${DIRECTUS_ADMIN_EMAIL}
|
|
DIRECTUS_ADMIN_PASSWORD: ${DIRECTUS_ADMIN_PASSWORD}
|
|
COOKIE_DOMAIN: localhost
|
|
NODE_ENV: development
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.klz-cables-gatekeeper-local.entrypoints=web"
|
|
- "traefik.http.routers.klz-cables-gatekeeper-local.rule=Host(`gatekeeper.klz.localhost`)"
|
|
- "traefik.http.routers.klz-cables-gatekeeper-local.tls=false"
|
|
- "traefik.http.routers.klz-cables-gatekeeper-local.service=klz-cables-gatekeeper-local"
|
|
- "traefik.http.services.klz-cables-gatekeeper-local.loadbalancer.server.port=3000"
|
|
- "traefik.docker.network=infra"
|