chore: consolidate app compose dev and prod
This commit is contained in:
parent
77282893f3
commit
e68eef8865
4
.gitignore
vendored
4
.gitignore
vendored
@ -43,3 +43,7 @@ docker-compose.override.yml
|
|||||||
.cache/
|
.cache/
|
||||||
.tmp/
|
.tmp/
|
||||||
*.tmp
|
*.tmp
|
||||||
|
|
||||||
|
# Local environment variants
|
||||||
|
.env.dev
|
||||||
|
.env.prod
|
||||||
|
|||||||
@ -1,12 +1,17 @@
|
|||||||
FROM node:20 AS builder
|
FROM node:20 AS builder
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
# TODO: Remove this or review embedded variables
|
|
||||||
COPY .env .env
|
|
||||||
|
|
||||||
# First generate package-lock.json if it doesn't exist, then do clean install
|
# First generate package-lock.json if it doesn't exist, then do clean install
|
||||||
RUN if [ ! -f package-lock.json ]; then npm install --package-lock-only; fi && npm ci
|
RUN if [ ! -f package-lock.json ]; then npm install --package-lock-only; fi && npm ci
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
# Vite bakes VITE_* values at build time, so compose must choose the env file
|
||||||
|
# during image build, not only at container runtime.
|
||||||
|
ARG ENV_FILE=.env
|
||||||
|
COPY ${ENV_FILE} .env
|
||||||
|
|
||||||
# Run build with production mode
|
# Run build with production mode
|
||||||
RUN npm run build -- --mode production
|
RUN npm run build -- --mode production
|
||||||
|
|
||||||
|
|||||||
21
docker-compose.dev.yml
Normal file
21
docker-compose.dev.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
services:
|
||||||
|
frontend-dev:
|
||||||
|
container_name: cc-app-dev
|
||||||
|
image: cc-app-dev:latest
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
args:
|
||||||
|
ENV_FILE: .env.dev
|
||||||
|
env_file:
|
||||||
|
- .env.dev
|
||||||
|
ports:
|
||||||
|
- "13000:3000"
|
||||||
|
networks:
|
||||||
|
- kevlarai-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
networks:
|
||||||
|
kevlarai-network:
|
||||||
|
external: true
|
||||||
|
name: kevlarai-network
|
||||||
@ -1,19 +1,21 @@
|
|||||||
services:
|
services:
|
||||||
classroom-copilot:
|
frontend:
|
||||||
container_name: classroom-copilot
|
container_name: cc-prod
|
||||||
|
image: cc-app-prod:latest
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
args:
|
||||||
|
ENV_FILE: .env
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
ports:
|
ports:
|
||||||
- 3000:3000
|
- "3000:3000"
|
||||||
volumes:
|
|
||||||
- ./:/app
|
|
||||||
networks:
|
networks:
|
||||||
- kevlarai-network
|
- kevlarai-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
kevlarai-network:
|
kevlarai-network:
|
||||||
|
external: true
|
||||||
name: kevlarai-network
|
name: kevlarai-network
|
||||||
driver: bridge
|
|
||||||
|
|||||||
14397
package-lock.json
generated
Normal file
14397
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user