Files
colanode/apps/server/Dockerfile
2024-11-16 17:49:50 +01:00

33 lines
795 B
Docker

FROM node:20-alpine
WORKDIR /app
# Copy root workspace files
COPY ../../package.json ../../package-lock.json ./
# Copy all package.json files first
COPY ../../packages/core/package.json packages/core/package.json
COPY ../../packages/crdt/package.json packages/crdt/package.json
COPY ../../apps/server/package.json apps/server/package.json
# Install dependencies
RUN npm ci
# Copy source files
COPY ../../packages/core packages/core
COPY ../../packages/crdt packages/crdt
COPY ../../apps/server apps/server
COPY ../../tsconfig.base.json ./
# Build packages
RUN npm run build -w @colanode/core && \
npm run build -w @colanode/crdt && \
npm run build -w @colanode/server && \
npm prune --production
ENV NODE_ENV=production
EXPOSE 3000
CMD ["node", "apps/server/dist/index.js"]