2020-06-15 23:52:24 -07:00
|
|
|
## Build API
|
2020-10-08 23:16:09 -07:00
|
|
|
FROM node:14-alpine as api
|
2019-07-15 07:30:35 -07:00
|
|
|
|
2020-06-03 02:21:52 -07:00
|
|
|
WORKDIR /usr/src/app
|
|
|
|
|
|
|
|
COPY ui/ .
|
2016-08-17 12:04:42 -07:00
|
|
|
|
2020-06-03 02:21:52 -07:00
|
|
|
RUN yarn install --frozen-lockfile
|
|
|
|
RUN yarn export
|
2019-07-15 06:02:21 -07:00
|
|
|
|
2020-06-15 23:52:24 -07:00
|
|
|
## Build APP
|
2020-10-08 23:18:37 -07:00
|
|
|
FROM node:14-alpine as app
|
2020-06-01 13:11:00 -07:00
|
|
|
LABEL maintainer="OhMyForm <admin@ohmyform.com>"
|
2019-10-08 20:10:25 -07:00
|
|
|
|
2020-06-03 02:21:52 -07:00
|
|
|
WORKDIR /usr/src/app
|
|
|
|
|
2020-06-16 01:45:52 -07:00
|
|
|
RUN apk update && apk add curl bash && rm -rf /var/cache/apk/*
|
|
|
|
|
|
|
|
# install node-prune (https://github.com/tj/node-prune)
|
|
|
|
RUN curl -sfL https://install.goreleaser.com/github.com/tj/node-prune.sh | bash -s -- -b /usr/local/bin
|
|
|
|
|
|
|
|
|
2020-06-03 02:21:52 -07:00
|
|
|
COPY api/ .
|
2020-06-15 23:52:24 -07:00
|
|
|
COPY --from=api /usr/src/app/out /usr/src/app/public
|
2020-06-03 02:21:52 -07:00
|
|
|
|
|
|
|
RUN yarn install --frozen-lockfile
|
|
|
|
RUN yarn build
|
2020-06-16 01:45:52 -07:00
|
|
|
|
|
|
|
# remove development dependencies
|
|
|
|
RUN npm prune --production
|
|
|
|
|
|
|
|
# run node prune
|
|
|
|
RUN /usr/local/bin/node-prune
|
|
|
|
|
2020-06-16 00:18:21 -07:00
|
|
|
## Glue
|
2020-06-16 01:45:52 -07:00
|
|
|
RUN touch /usr/src/app/src/schema.gql && chown 9999:9999 /usr/src/app/src/schema.gql
|
2020-06-03 02:21:52 -07:00
|
|
|
|
2020-06-15 23:52:24 -07:00
|
|
|
## Production Image.
|
2020-10-08 23:18:37 -07:00
|
|
|
FROM node:14-alpine
|
2020-06-15 23:52:24 -07:00
|
|
|
|
|
|
|
WORKDIR /usr/src/app
|
|
|
|
COPY --from=app /usr/src/app /usr/src/app
|
2020-06-16 01:45:52 -07:00
|
|
|
RUN addgroup --gid 9999 ohmyform && adduser -D --uid 9999 -G ohmyform ohmyform
|
2020-06-03 02:21:52 -07:00
|
|
|
ENV PORT=3000 \
|
|
|
|
SECRET_KEY=ChangeMe \
|
|
|
|
CREATE_ADMIN=FALSE \
|
|
|
|
ADMIN_EMAIL=admin@ohmyform.com \
|
|
|
|
ADMIN_USERNAME=root \
|
|
|
|
ADMIN_PASSWORD=root
|
|
|
|
|
|
|
|
EXPOSE 3000
|
2020-06-15 23:21:17 -07:00
|
|
|
USER ohmyform
|
2020-06-03 02:21:52 -07:00
|
|
|
CMD [ "yarn", "start:prod" ]
|