diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..823c68a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +**/node_modules +**/dist +**/*.tsbuildinfo +.git +target +amnet-native +amnet-server-test +res diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..36e524c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,35 @@ +FROM node:lts-alpine AS builder + +WORKDIR /build + +# amnet-shared packages +COPY amnet-shared/package.json amnet-shared/package.json +COPY amnet-shared/package-lock.json amnet-shared/package-lock.json +RUN cd amnet-shared && npm ci + +# amnet-web packages +COPY amnet-web/package.json amnet-web/package.json +COPY amnet-web/package-lock.json amnet-web/package-lock.json +RUN cd amnet-web && npm ci + +# main contents +COPY amnet-shared amnet-shared +COPY amnet-web amnet-web + +RUN cd amnet-shared && npm run build +RUN cd amnet-web && npm run build + +# --- + +FROM joseluisq/static-web-server:2 AS final + +ENV SERVER_PORT=8080 +ENV SERVER_ROOT=/static +ENV SERVER_LOG_LEVEL=info +ENV SERVER_FALLBACK_PAGE=/static/index.html + +COPY --from=builder /build/amnet-web/dist /static + +EXPOSE 8080 + +# ENTRYPOINT/CMD doesn't need modifying \ No newline at end of file