feat: add docker deployment stack
Add container definitions for the web app, API, worker, and PostGIS database so the local stack can be built and run consistently.
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
FROM node:22-alpine AS build
|
||||
WORKDIR /app
|
||||
|
||||
ARG VITE_API_BASE_URL
|
||||
ARG VITE_GOOGLE_MAPS_PLATFORM_KEY
|
||||
|
||||
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
|
||||
ENV VITE_GOOGLE_MAPS_PLATFORM_KEY=$VITE_GOOGLE_MAPS_PLATFORM_KEY
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm ci
|
||||
|
||||
COPY . .
|
||||
RUN npm run build && npm run build:api
|
||||
|
||||
FROM nginx:alpine AS web
|
||||
COPY --from=build /app/dist /usr/share/nginx/html
|
||||
|
||||
FROM node:22-alpine AS api
|
||||
WORKDIR /app
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm ci --omit=dev
|
||||
|
||||
COPY --from=build /app/dist-server ./dist-server
|
||||
|
||||
CMD ["node", "dist-server/server/src/index.js"]
|
||||
|
||||
FROM node:22-alpine AS worker
|
||||
WORKDIR /app
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm ci --omit=dev
|
||||
|
||||
COPY --from=build /app/dist-server ./dist-server
|
||||
|
||||
CMD ["node", "dist-server/server/src/worker.js"]
|
||||
Reference in New Issue
Block a user