chore: remove unused marketplace configuration
Build & Deploy / Build & Push Docker Image (push) Successful in 3m9s
Test / Type Check (all packages) (push) Successful in 56s
Build & Deploy / Deploy to VPS (push) Successful in 4s
Test / API Unit Tests (push) Failing after 49s
Test / Homepage Unit Tests (push) Successful in 42s
Test / Storefront Unit Tests (push) Failing after 40s
Test / Admin Unit Tests (push) Successful in 40s
Test / Dashboard Unit Tests (push) Failing after 41s
Test / API Integration Tests (push) Successful in 1m0s

This commit is contained in:
root
2026-07-02 18:24:19 -04:00
parent 7ff2dbb139
commit c21916559f
12 changed files with 38 additions and 43 deletions
-2
View File
@@ -11,7 +11,6 @@ API_PORT=4000
API_URL=http://localhost:4000
API_INTERNAL_URL=http://api:4000/api/v1
NEXT_PUBLIC_API_URL=http://localhost:4000/api/v1
NEXT_PUBLIC_MARKETPLACE_URL=http://localhost:3000
NEXT_PUBLIC_DASHBOARD_URL=http://localhost:3000/dashboard
NEXT_PUBLIC_ADMIN_URL=http://localhost:3000/admin
DASHBOARD_URL=http://localhost:3000/dashboard
@@ -19,7 +18,6 @@ ADMIN_URL=http://localhost:3000/admin
DASHBOARD_INTERNAL_URL=http://host.docker.internal:3001
ADMIN_INTERNAL_URL=http://host.docker.internal:3002
# Asset prefix for the dashboard/admin dev servers so browsers load JS chunks from the
# correct port rather than through the marketplace proxy (which doesn't have those chunks).
DASHBOARD_ASSET_PREFIX=http://localhost:3001/dashboard
ADMIN_ASSET_PREFIX=http://localhost:3002/admin
JWT_SECRET=placeholder
-3
View File
@@ -35,7 +35,6 @@ REDIS_URL=redis://:PMPS5k0D7rUeJOk0NkhI5bRtoGjkUqjK@redis:6379
API_PORT=4000
# SSR server-side calls go via the internal Docker network
API_INTERNAL_URL=http://api:4000/api/v1
# Next.js rewrites between the marketplace and internal apps also use Docker-network URLs
DASHBOARD_INTERNAL_URL=http://dashboard:3001
ADMIN_INTERNAL_URL=http://admin:3002
# Public-facing API URL visible to browsers — MUST be your real domain, not localhost
@@ -50,8 +49,6 @@ NEXT_PUBLIC_API_URL=https://api.rentaldrivego.ma/api/v1
SITE_ORIGIN=https://rentaldrivego.ma
# Carplace public routes sit under /carplace on the public site domain.
NEXT_PUBLIC_MARKETING_URL=https://rentaldrivego.ma
NEXT_PUBLIC_MARKETPLACE_URL=https://rentaldrivego.ma
NEXT_PUBLIC_CARPLACE_URL=https://rentaldrivego.ma/carplace
NEXT_PUBLIC_DASHBOARD_URL=https://rentaldrivego.ma/dashboard
NEXT_PUBLIC_ADMIN_URL=https://rentaldrivego.ma/admin
-2
View File
@@ -30,8 +30,6 @@ API_URL=https://api.example.com
NEXT_PUBLIC_API_URL=https://api.example.com/api/v1
# Frontend public URLs
NEXT_PUBLIC_MARKETING_URL=https://example.com
NEXT_PUBLIC_MARKETPLACE_URL=https://example.com
NEXT_PUBLIC_HOMEPAGE_URL=https://example.com
NEXT_PUBLIC_STOREFRONT_URL=https://example.com
NEXT_PUBLIC_DASHBOARD_URL=https://example.com/dashboard
-2
View File
@@ -86,8 +86,6 @@ REDIS_URL=redis://localhost:6379
# SITE_ORIGIN=https://your-production-domain.example
NEXT_PUBLIC_MARKETING_URL=http://localhost:3000
NEXT_PUBLIC_MARKETPLACE_URL=http://localhost:3000
NEXT_PUBLIC_DASHBOARD_URL=http://localhost:3000/dashboard
NEXT_PUBLIC_ADMIN_URL=http://localhost:3000/admin
NEXT_PUBLIC_STOREFRONT_URL=http://localhost:3000/storefront
+7 -12
View File
@@ -55,9 +55,8 @@ services:
DASHBOARD_INTERNAL_URL: ${DASHBOARD_INTERNAL_URL:-http://dashboard:3001}
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
@@ -88,9 +87,8 @@ services:
DASHBOARD_INTERNAL_URL: ${DASHBOARD_INTERNAL_URL:-http://dashboard:3001}
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
@@ -114,6 +112,7 @@ services:
environment:
DATABASE_URL_FROM_POSTGRES: ${DATABASE_URL_FROM_POSTGRES:-true}
FILE_STORAGE_ROOT: /var/lib/rentaldrivego/storage
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
POSTGRES_HOST: ${POSTGRES_HOST:-postgres}
POSTGRES_PORT: ${POSTGRES_PORT:-5432}
POSTGRES_DB: ${POSTGRES_DB:-rentaldrivego}
@@ -148,8 +147,7 @@ services:
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
@@ -191,9 +189,8 @@ services:
DASHBOARD_INTERNAL_URL: ${DASHBOARD_INTERNAL_URL:-http://dashboard:3001}
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
@@ -235,9 +232,8 @@ services:
DASHBOARD_INTERNAL_URL: ${DASHBOARD_INTERNAL_URL:-http://dashboard:3001}
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
@@ -279,9 +275,8 @@ services:
DASHBOARD_INTERNAL_URL: ${DASHBOARD_INTERNAL_URL:-http://dashboard:3001}
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
+1 -2
View File
@@ -195,8 +195,7 @@ For production image builds, also define these GitLab CI/CD variables with their
```text
NEXT_PUBLIC_API_URL=https://api.rentaldrivego.ma/api/v1
NEXT_PUBLIC_MARKETPLACE_URL=https://rentaldrivego.ma
NEXT_PUBLIC_CARPLACE_URL=https://rentaldrivego.ma
NEXT_PUBLIC_CARPLACE_URL=https://rentaldrivego.ma/carplace
NEXT_PUBLIC_DASHBOARD_URL=https://rentaldrivego.ma/dashboard
NEXT_PUBLIC_ADMIN_URL=https://rentaldrivego.ma/admin
```
+2 -3
View File
@@ -1,10 +1,10 @@
docker compose -f docker-compose.dev.yml up -d postgres
docker compose -f docker-compose.dev.yml up -d redis
docker compose -p rentaldrivego-prod --env-file .env.docker.production -f docker-compose.production.yml up --build -d --no-deps marketplace
docker compose -p rentaldrivego-prod --env-file .env.docker.production -f docker-compose.production.yml up --build -d --no-deps carplace
docker compose -p rentaldrivego-prod --env-file .env.docker.production -f docker-compose.production.yml up --build -d --no-deps admin
docker compose -f docker-compose.dev.yml --profile full up --build
docker compose -f docker-compose.dev.yml --profile dashboard up --build
docker compose -f docker-compose.dev.yml --profile marketplace up --build
docker compose -f docker-compose.dev.yml --profile carplace up --build
docker compose -f docker-compose.dev.yml --profile api up --build
@@ -44,4 +44,3 @@ cp .env.docker.production.example .env.docker.production
# Deploy
docker compose -f traefik.yaml up -d
docker compose -p rentaldrivego-prod --env-file .env.docker.production -f docker-compose.production.yml up --build -d
+2 -2
View File
@@ -29,7 +29,7 @@ Deploy dev
├─────────────┼───────────────────────────────────────────────┤
│ public-site │ http://localhost:3000 │
├─────────────┼───────────────────────────────────────────────┤
marketplace │ http://localhost:3001/marketplace │
carplace │ http://localhost:3004/carplace
├─────────────┼───────────────────────────────────────────────┤
│ dashboard │ http://localhost:3002/dashboard │
├─────────────┼───────────────────────────────────────────────┤
@@ -40,6 +40,6 @@ Deploy dev
│ pgAdmin │ http://localhost:5050 (needs --profile tools) │
└─────────────┴───────────────────────────────────────────────┘
▎ Note: In Docker dev each app is directly accessible on its own port. The /marketplace, /dashboard, /admin proxy
▎ Note: In Docker dev each app is directly accessible on its own port. The /carplace, /dashboard, /admin proxy
▎ through port 3000 (public-site) only works when running locally (not in separate containers), since localhost inside
▎ a container refers to that container only.
@@ -48,8 +48,6 @@ NEXT_PUBLIC_API_URL=https://api.rentaldrivego.ma/api/v1
# Frontend public URLs
SITE_ORIGIN=https://rentaldrivego.ma
NEXT_PUBLIC_MARKETING_URL=https://rentaldrivego.ma
NEXT_PUBLIC_MARKETPLACE_URL=https://rentaldrivego.ma
NEXT_PUBLIC_HOMEPAGE_URL=https://rentaldrivego.ma
NEXT_PUBLIC_CARPLACE_URL=https://rentaldrivego.ma/carplace
NEXT_PUBLIC_DASHBOARD_URL=https://rentaldrivego.ma/dashboard
+7 -12
View File
@@ -55,9 +55,8 @@ services:
DASHBOARD_INTERNAL_URL: ${DASHBOARD_INTERNAL_URL:-http://dashboard:3001}
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
@@ -88,9 +87,8 @@ services:
DASHBOARD_INTERNAL_URL: ${DASHBOARD_INTERNAL_URL:-http://dashboard:3001}
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
@@ -114,6 +112,7 @@ services:
environment:
DATABASE_URL_FROM_POSTGRES: ${DATABASE_URL_FROM_POSTGRES:-true}
FILE_STORAGE_ROOT: /var/lib/rentaldrivego/storage
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
POSTGRES_HOST: ${POSTGRES_HOST:-postgres}
POSTGRES_PORT: ${POSTGRES_PORT:-5432}
POSTGRES_DB: ${POSTGRES_DB:-rentaldrivego}
@@ -148,8 +147,7 @@ services:
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
@@ -191,9 +189,8 @@ services:
DASHBOARD_INTERNAL_URL: ${DASHBOARD_INTERNAL_URL:-http://dashboard:3001}
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
@@ -235,9 +232,8 @@ services:
DASHBOARD_INTERNAL_URL: ${DASHBOARD_INTERNAL_URL:-http://dashboard:3001}
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
@@ -279,9 +275,8 @@ services:
DASHBOARD_INTERNAL_URL: ${DASHBOARD_INTERNAL_URL:-http://dashboard:3001}
ADMIN_INTERNAL_URL: ${ADMIN_INTERNAL_URL:-http://admin:3002}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_MARKETPLACE_URL: ${NEXT_PUBLIC_MARKETPLACE_URL}
NEXT_PUBLIC_HOMEPAGE_URL: ${NEXT_PUBLIC_HOMEPAGE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL}
NEXT_PUBLIC_CARPLACE_URL: ${NEXT_PUBLIC_CARPLACE_URL:-${SITE_ORIGIN}/carplace}
NEXT_PUBLIC_DASHBOARD_URL: ${NEXT_PUBLIC_DASHBOARD_URL}
NEXT_PUBLIC_ADMIN_URL: ${NEXT_PUBLIC_ADMIN_URL}
SITE_ORIGIN: ${SITE_ORIGIN}
+9
View File
@@ -102,6 +102,15 @@ export_compose_env_from_file() {
export "${key}=${value}"
fi
done < "${ENV_FILE}"
if [[ -z "${NEXT_PUBLIC_CARPLACE_URL:-}" ]]; then
if [[ -n "${NEXT_PUBLIC_STOREFRONT_URL:-}" ]]; then
NEXT_PUBLIC_CARPLACE_URL="${NEXT_PUBLIC_STOREFRONT_URL%/}/carplace"
elif [[ -n "${SITE_ORIGIN:-}" ]]; then
NEXT_PUBLIC_CARPLACE_URL="${SITE_ORIGIN%/}/carplace"
fi
export NEXT_PUBLIC_CARPLACE_URL
fi
}
load_prod_env_exports() {
+9
View File
@@ -97,6 +97,15 @@ export_compose_env_from_file() {
export "${key}=${value}"
fi
done < "${ENV_FILE}"
if [[ -z "${NEXT_PUBLIC_CARPLACE_URL:-}" ]]; then
if [[ -n "${NEXT_PUBLIC_STOREFRONT_URL:-}" ]]; then
NEXT_PUBLIC_CARPLACE_URL="${NEXT_PUBLIC_STOREFRONT_URL%/}/carplace"
elif [[ -n "${SITE_ORIGIN:-}" ]]; then
NEXT_PUBLIC_CARPLACE_URL="${SITE_ORIGIN%/}/carplace"
fi
export NEXT_PUBLIC_CARPLACE_URL
fi
}
load_prod_env_exports() {