Files
api/api/Dockerfile
2023-09-01 15:31:20 -04:00

48 lines
982 B
Docker

###########################################################
# Development/Build Image
###########################################################
FROM node:18.17.1-alpine As development
# Install build tools and dependencies
RUN apk add --no-cache \
bash \
# Real PS Command (needed for some dependencies)
procps \
alpine-sdk \
python3 \
libvirt-dev \
jq \
zstd
RUN mkdir /var/log/unraid-api/
WORKDIR /app
# Set app env
ENV NODE_ENV=development
# Setup cache for pkg
ENV PKG_CACHE_PATH /app/.pkg-cache
RUN mkdir -p ${PKG_CACHE_PATH}
COPY tsconfig.json tsup.config.ts .eslintrc.cjs .npmrc .env.production .env.staging ./
COPY package.json package-lock.json ./
# Install pkg
RUN npm i -g pkg zx
# Install deps
RUN npm ci
EXPOSE 4000
###########################################################
# Builder Image
###########################################################
FROM development AS builder
COPY . .
CMD ["npm", "run", "build-pkg"]