52 lines
1.6 KiB
Docker
52 lines
1.6 KiB
Docker
###########################
|
|
# Angular
|
|
###########################
|
|
FROM node:alpine as build
|
|
|
|
ENV HOME=/app
|
|
|
|
COPY package.json $HOME/
|
|
COPY app $HOME/app
|
|
COPY public $HOME/public
|
|
|
|
WORKDIR $HOME
|
|
|
|
RUN apk add --update --no-cache --virtual .build-deps gcc g++ make libc6-compat python && \
|
|
apk add build-base vips-dev fftw-dev build-base --no-cache \
|
|
--repository https://alpine.global.ssl.fastly.net/alpine/edge/main \
|
|
--repository https://alpine.global.ssl.fastly.net/alpine/edge/testing \
|
|
--repository https://alpine.global.ssl.fastly.net/alpine/edge/community && \
|
|
npm install && \
|
|
apk del .build-deps gcc g++ make libc6-compat python && \
|
|
apk del build-base && \
|
|
npm run build
|
|
|
|
###########################
|
|
# Server
|
|
###########################
|
|
FROM node:alpine
|
|
|
|
ENV HOME=/app
|
|
|
|
COPY index.mjs package.json server.mjs $HOME/
|
|
|
|
WORKDIR $HOME
|
|
|
|
RUN apk add --update --no-cache --virtual .build-deps gcc g++ make libc6-compat python && \
|
|
apk add build-base vips-dev fftw-dev build-base --no-cache \
|
|
--repository https://alpine.global.ssl.fastly.net/alpine/edge/main \
|
|
--repository https://alpine.global.ssl.fastly.net/alpine/edge/testing \
|
|
--repository https://alpine.global.ssl.fastly.net/alpine/edge/community && \
|
|
npm install --production && \
|
|
rm -Rf $HOME/.npm $HOME/.npm $HOME/.config && \
|
|
apk del .build-deps gcc g++ make libc6-compat python && \
|
|
apk del build-base
|
|
|
|
COPY api $HOME/api
|
|
COPY migrations $HOME/migrations
|
|
COPY config $HOME/config
|
|
COPY --from=build /app/public $HOME/public
|
|
|
|
EXPOSE 4030
|
|
|
|
CMD ["npm", "start"]
|