Files
workavia-drive/tdrive/docker/tdrive-node/Dockerfile
T
Montassar Ghanmy a272d66dcd 🛠️ Cozy migration CLI tools and client (#876)
* feat: migration cli tools and client

* feat: creating folder tree / ref cli cmds / Dockerfile

* feat: refresh app auth token for requests

* feat: skip already migrated files

* ref: auth token refresh and download request

* ref: using cloudery to create user instace and generate token

* ref: using config for cloudery

* fix: docker for backend

* fix: docker for backend

* fix: docker for backend

* fix: docker for backend

* fix: lint/Dockerfile

* fix: docker for backend

* fix: docker for backend

* ref: delete client

* fix: user default company

* feat: stream file upload and progress

* feat: use default company

* ref: file upload

* ref: removed migration endpoints for external client
2025-05-16 14:41:33 +02:00

50 lines
1007 B
Docker
Executable File

# Common node machine
FROM node:lts-alpine AS node-base
### Install dependencies
RUN apk add --update-cache \
ghostscript \
graphicsmagick \
curl \
&& rm -rf /var/cache/apk/*
### Install TDrive
WORKDIR /usr/src/app
COPY backend/node/package*.json ./
# Test Stage
FROM node-base AS test
RUN npm install --legacy-peer-deps
COPY backend/node/ .
# Add frontend Stage
FROM node-base AS installed-libs
COPY backend/node/ .
#Install dev dependancies for build
ENV NODE_ENV=development
RUN npm ci --legacy-peer-deps
#Build in production mode
ENV NODE_ENV=production
RUN npm run build
RUN rm -rf node_modules
#Install prod dependancies after build
RUN npm ci --legacy-peer-deps
# Development Stage
FROM installed-libs AS development
ENV NODE_ENV=development
RUN npm install -g pino-pretty && \
npm install -g tsc-watch && \
npm ci --legacy-peer-deps
CMD ["npm", "run", "dev:debug"]
# Production Stage
FROM installed-libs AS production
EXPOSE 4000
CMD ["npm", "run", "serve"]