Make dev-containers in Dockerfiles, to allow caching of npm ci stage

This commit is contained in:
ShootingStar91
2024-07-06 14:40:45 +03:00
parent a237f5f38b
commit 26f708fa53
3 changed files with 48 additions and 6 deletions
+25
View File
@@ -0,0 +1,25 @@
FROM node:20-alpine3.16
ENV TZ="Europe/Helsinki"
WORKDIR /usr/src/app
RUN mkdir -p /usr/src/app/frontend/src/validators
COPY frontend/src/backendTypes.d.ts /usr/src/app/frontend/src/
COPY frontend/src/validators /usr/src/app/frontend/src/validators
COPY backend/package.json backend/
COPY backend/package-lock.json backend/
COPY backend/prisma backend
ENV NODE_ENV=production
WORKDIR /usr/src/app/backend
RUN npm ci
COPY backend .
RUN npm run prisma
CMD ["npm", "run", "dev"]
+6 -6
View File
@@ -2,23 +2,23 @@
services:
frontend:
container_name: nowdb-frontend-dev
image: node:20-alpine3.16
build:
context: ./frontend
dockerfile: ./dev.Dockerfile
volumes:
- ./frontend/:/usr/src/app
ports:
- 127.0.0.1:5173:5173
command: >
sh -c "cd /usr/src/app && npm ci && npm run dev -- --host"
backend:
container_name: nowdb-backend-dev
image: node:20-alpine3.16
build:
context: .
dockerfile: ./backend/dev.Dockerfile
volumes:
- ./backend/:/usr/src/app/backend/
- ./frontend/src/validators:/usr/src/app/frontend/src/validators
ports:
- 127.0.0.1:4000:4000
command: >
sh -c "cd /usr/src/app/backend && npm ci && npm run prisma && npm run dev"
env_file: .dev.env
db:
container_name: nowdb-db-dev
+17
View File
@@ -0,0 +1,17 @@
FROM node:20-alpine3.19
ENV TZ="Europe/Helsinki"
WORKDIR /app
COPY package.json ./
COPY package-lock.json ./
RUN npm ci
COPY . .
RUN pwd
CMD ["npm", "run", "dev", "--", "--host"]