feat: Externalize API URLs and JWT secret configuration using build arguments and environment variables with default fallbacks.
This commit is contained in:
+10
-5
@@ -14,13 +14,15 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: web/studio/Dockerfile
|
dockerfile: web/studio/Dockerfile
|
||||||
|
args:
|
||||||
|
NEXT_PUBLIC_CMS_API_URL: ${NEXT_PUBLIC_CMS_API_URL:-http://localhost:3001}
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "3000:3000"
|
||||||
- "3001:3001"
|
- "3001:3001"
|
||||||
environment:
|
environment:
|
||||||
DATABASE_URL: postgresql://user:password@db:5432/openccb_cms
|
DATABASE_URL: postgresql://user:password@db:5432/openccb_cms
|
||||||
JWT_SECRET: openccb_secret_key_2025_production
|
JWT_SECRET: ${JWT_SECRET:-openccb_secret_key_2025_production}
|
||||||
NEXT_PUBLIC_CMS_API_URL: http://192.168.0.254:3001
|
NEXT_PUBLIC_CMS_API_URL: ${NEXT_PUBLIC_CMS_API_URL:-http://localhost:3001}
|
||||||
LMS_INTERNAL_URL: http://experience:3002
|
LMS_INTERNAL_URL: http://experience:3002
|
||||||
volumes:
|
volumes:
|
||||||
- uploads_data:/app/uploads
|
- uploads_data:/app/uploads
|
||||||
@@ -34,14 +36,17 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: web/experience/Dockerfile
|
dockerfile: web/experience/Dockerfile
|
||||||
|
args:
|
||||||
|
NEXT_PUBLIC_LMS_API_URL: ${NEXT_PUBLIC_LMS_API_URL:-http://localhost:3002}
|
||||||
|
NEXT_PUBLIC_CMS_API_URL: ${NEXT_PUBLIC_CMS_API_URL:-http://localhost:3001}
|
||||||
ports:
|
ports:
|
||||||
- "3003:3003"
|
- "3003:3003"
|
||||||
- "3002:3002"
|
- "3002:3002"
|
||||||
environment:
|
environment:
|
||||||
DATABASE_URL: postgresql://user:password@db:5432/openccb_lms
|
DATABASE_URL: postgresql://user:password@db:5432/openccb_lms
|
||||||
JWT_SECRET: openccb_secret_key_2025_production
|
JWT_SECRET: ${JWT_SECRET:-openccb_secret_key_2025_production}
|
||||||
NEXT_PUBLIC_LMS_API_URL: http://192.168.0.254:3002
|
NEXT_PUBLIC_LMS_API_URL: ${NEXT_PUBLIC_LMS_API_URL:-http://localhost:3002}
|
||||||
NEXT_PUBLIC_CMS_API_URL: http://192.168.0.254:3001
|
NEXT_PUBLIC_CMS_API_URL: ${NEXT_PUBLIC_CMS_API_URL:-http://localhost:3001}
|
||||||
env_file: .env
|
env_file: .env
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ WORKDIR /app
|
|||||||
COPY web/experience/package*.json ./
|
COPY web/experience/package*.json ./
|
||||||
RUN npm install
|
RUN npm install
|
||||||
COPY web/experience/ .
|
COPY web/experience/ .
|
||||||
|
ARG NEXT_PUBLIC_LMS_API_URL
|
||||||
|
ENV NEXT_PUBLIC_LMS_API_URL=$NEXT_PUBLIC_LMS_API_URL
|
||||||
|
ARG NEXT_PUBLIC_CMS_API_URL
|
||||||
|
ENV NEXT_PUBLIC_CMS_API_URL=$NEXT_PUBLIC_CMS_API_URL
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|
||||||
# Final stage
|
# Final stage
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ WORKDIR /app
|
|||||||
COPY web/studio/package*.json ./
|
COPY web/studio/package*.json ./
|
||||||
RUN npm install
|
RUN npm install
|
||||||
COPY web/studio/ .
|
COPY web/studio/ .
|
||||||
|
ARG NEXT_PUBLIC_CMS_API_URL
|
||||||
|
ENV NEXT_PUBLIC_CMS_API_URL=$NEXT_PUBLIC_CMS_API_URL
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|
||||||
# Final stage
|
# Final stage
|
||||||
|
|||||||
Reference in New Issue
Block a user