chore: align dev environment with klz-2026 and cleanup package.json
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 5s
Build & Deploy / 🧪 QA (push) Failing after 12s
Build & Deploy / 🏗️ Build (push) Failing after 31s
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🩺 Health Check (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 2s

This commit is contained in:
2026-02-13 01:30:10 +01:00
parent 99e392ce08
commit dbd43eb76c
4 changed files with 25 additions and 21 deletions

View File

@@ -10,7 +10,7 @@
# ────────────────────────────────────────────────────────────────────────────
PROJECT_NAME=mintel-me
NODE_ENV=development
NEXT_PUBLIC_BASE_URL=http://mintel.me.localhost
NEXT_PUBLIC_BASE_URL=http://mintel.localhost
# TARGET is used to differentiate between environments (testing, staging, production)
TARGET=development
NEXT_PUBLIC_TARGET=development
@@ -18,8 +18,8 @@ NEXT_PUBLIC_TARGET=development
# ────────────────────────────────────────────────────────────────────────────
# Docker Orchestration (Traefik)
# ────────────────────────────────────────────────────────────────────────────
TRAEFIK_HOST=mintel.me.localhost
TRAEFIK_RULE=Host(`mintel.me.localhost`)
TRAEFIK_HOST=mintel.localhost
TRAEFIK_RULE=Host("mintel.localhost")
# Use AUTH_MIDDLEWARE to enable/disable Gatekeeper locally
# Default is empty (disabled) for local development
# Production: mintel-me-auth
@@ -29,7 +29,7 @@ AUTH_MIDDLEWARE=
# Directus CMS Configuration
# ────────────────────────────────────────────────────────────────────────────
DIRECTUS_URL=https://cms.mintel.me
DIRECTUS_HOST=cms.mintel.me.localhost
DIRECTUS_HOST=cms.mintel.localhost
DIRECTUS_KEY=some-random-key
DIRECTUS_SECRET=some-random-secret
DIRECTUS_DB_NAME=directus
@@ -51,9 +51,10 @@ SENTRY_DSN=
# Gatekeeper (Standard Auth)
# ────────────────────────────────────────────────────────────────────────────
GATEKEEPER_PASSWORD=mintel
GATEKEEPER_ORIGIN=https://mintel.me/gatekeeper
COOKIE_DOMAIN=.mintel.me
GATEKEEPER_ORIGIN=http://mintel.localhost/gatekeeper
COOKIE_DOMAIN=localhost
AUTH_COOKIE_NAME=mintel_gatekeeper_session
GATEKEEPER_BYPASS_ENABLED=true
# ────────────────────────────────────────────────────────────────────────────
# Deployment Configuration (CI/CD only)

View File

@@ -19,7 +19,7 @@
"video:render:button": "remotion render video/index.ts ButtonShowcase out/button-showcase.mp4 --concurrency=1 --codec=h264 --crf=16 --pixel-format=yuv420p --overwrite",
"video:render:all": "npm run video:render:contact && npm run video:render:button",
"pagespeed:test": "npx tsx ./scripts/pagespeed-sitemap.ts",
"cms:bootstrap": "DIRECTUS_URL=http://localhost:8055 npx tsx --env-file=.env scripts/setup-directus.ts",
"cms:bootstrap": "DIRECTUS_URL=http://cms.mintel.localhost npx tsx --env-file=.env scripts/setup-directus.ts",
"cms:push:staging": "../../scripts/sync-directus.sh push staging",
"cms:pull:staging": "../../scripts/sync-directus.sh pull staging",
"cms:push:testing": "../../scripts/sync-directus.sh push testing",
@@ -29,7 +29,12 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@directus/sdk": "21.0.0",
"@mintel/pdf": "^1.8.0",
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/context-async-hooks": "^2.1.0",
"@opentelemetry/core": "^2.1.0",
"@opentelemetry/sdk-trace-base": "^2.1.0",
"@react-pdf/renderer": "^4.3.2",
"@remotion/bundler": "^4.0.414",
"@remotion/cli": "^4.0.414",
@@ -59,13 +64,8 @@
"shiki": "^1.24.2",
"tailwind-merge": "^3.4.0",
"tailwindcss": "^3.4.0",
"zod": "3.22.3",
"@directus/sdk": "21.0.0",
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/context-async-hooks": "^2.1.0",
"@opentelemetry/core": "^2.1.0",
"@opentelemetry/sdk-trace-base": "^2.1.0",
"webpack": "^5.96.1"
"webpack": "^5.96.1",
"zod": "3.22.3"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.3",
@@ -92,4 +92,4 @@
"typescript": "5.9.3",
"typescript-eslint": "^8.54.0"
}
}
}

View File

@@ -1,6 +1,7 @@
services:
app:
image: registry.infra.mintel.me/mintel/mintel.me:${IMAGE_TAG:-latest}
build: .
restart: always
networks:
- default
@@ -10,11 +11,11 @@ services:
labels:
- "traefik.enable=true"
# HTTP ⇒ HTTPS redirect
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-web.rule=${TRAEFIK_RULE:-Host(`${TRAEFIK_HOST:-mintel.me.localhost}`)}"
- 'traefik.http.routers.${PROJECT_NAME:-mintel-me}-web.rule=${TRAEFIK_HOST_RULE:-Host("mintel.localhost")}'
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-web.entrypoints=web"
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-web.middlewares=redirect-https"
# HTTPS router (Standard)
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}.rule=${TRAEFIK_RULE:-Host(`${TRAEFIK_HOST:-mintel.me.localhost}`)}"
- 'traefik.http.routers.${PROJECT_NAME:-mintel-me}.rule=${TRAEFIK_HOST_RULE:-Host("mintel.localhost")}'
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}.entrypoints=websecure"
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}.tls.certresolver=le"
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}.tls=true"
@@ -24,7 +25,7 @@ services:
- "traefik.docker.network=infra"
# Gatekeeper Router (Path-based)
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-gatekeeper.rule=(Host(`${TRAEFIK_HOST:-mintel.me}`) && PathPrefix(`/gatekeeper`))"
- 'traefik.http.routers.${PROJECT_NAME:-mintel-me}-gatekeeper.rule=(Host("${TRAEFIK_HOST:-mintel.localhost}") && PathPrefix("/gatekeeper"))'
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-gatekeeper.entrypoints=websecure"
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-gatekeeper.tls.certresolver=le"
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-gatekeeper.tls=true"
@@ -54,7 +55,7 @@ services:
PORT: 3000
PROJECT_NAME: ${PROJECT_NAME:-Mintel.me}
PROJECT_COLOR: ${PROJECT_COLOR:-#ff00ff}
COOKIE_DOMAIN: ${COOKIE_DOMAIN:-.mintel.me}
COOKIE_DOMAIN: ${COOKIE_DOMAIN:-localhost}
AUTH_COOKIE_NAME: ${AUTH_COOKIE_NAME:-mintel_gatekeeper_session}
GATEKEEPER_PASSWORD: ${GATEKEEPER_PASSWORD:-mintel}
NEXT_PUBLIC_BASE_URL: ${GATEKEEPER_ORIGIN}
@@ -105,7 +106,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-directus.rule=Host(`${DIRECTUS_HOST:-cms.mintel.me.localhost}`)"
- 'traefik.http.routers.${PROJECT_NAME:-mintel-me}-directus.rule=Host("${DIRECTUS_HOST:-cms.mintel.localhost}")'
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-directus.entrypoints=websecure"
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-directus.tls.certresolver=le"
- "traefik.http.routers.${PROJECT_NAME:-mintel-me}-directus.tls=true"

View File

@@ -4,8 +4,10 @@
"type": "module",
"packageManager": "pnpm@10.18.3",
"scripts": {
"dev": "docker network create infra 2>/dev/null || true && echo '\\n🚀 Development Environment Starting...\\n\\n📱 App: http://mintel.localhost\\n🗄 CMS: http://cms.mintel.localhost/admin\\n🚦 Traefik: http://localhost:8080\\n\\n(Press Ctrl+C to stop)\\n' && docker-compose down --remove-orphans && docker-compose up app directus directus-db gatekeeper",
"dev:local": "pnpm -r dev",
"build": "pnpm -r build",
"dev": "pnpm -r dev",
"start": "pnpm -r start",
"lint": "pnpm -r lint",
"test": "pnpm -r test",
"lint:yaml": "node scripts/lint-yaml.js",