a272d66dcd
* 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
50 lines
1007 B
Docker
Executable File
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"] |