From e81c8d8a86f325b1d33bd440056e061df76fb733 Mon Sep 17 00:00:00 2001 From: Philippe Loctaux Date: Sat, 3 Jun 2023 15:54:44 +0200 Subject: [PATCH] Dockerfile --- .dockerignore | 12 ++++++++++++ Dockerfile | 31 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b897b58 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +/public/wallpapers.json + +/dist/ +/node_modules/ + +/.idea/ +/.vscode/ +.DS_Store + +/readme.md +/Dockerfile +/.dockerignore \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..83f14be --- /dev/null +++ b/Dockerfile @@ -0,0 +1,31 @@ +ARG DENO_VERSION=1.34.1 + +# build wallpapers +FROM denoland/deno:alpine-${DENO_VERSION} as wallpapers + +WORKDIR /wallpapers +COPY utils/wallpapers.ts . +COPY public/wallpapers ./wallpapers/ +RUN deno run --allow-read --allow-net wallpapers.ts --sourceDir ./wallpapers/ --destinationDir /wallpapers > wallpapers.json + +# build astro +FROM node:18.16-alpine as astro + +WORKDIR /astro + +COPY package.json package-lock.json ./ +RUN npm ci + +COPY . . +COPY --from=wallpapers /wallpapers/wallpapers.json ./public/ +RUN npm run build + +# web server +FROM denoland/deno:alpine-${DENO_VERSION} + +EXPOSE 8000 + +WORKDIR /web +COPY --from=astro /astro/dist . +RUN deno cache /web/server/entry.mjs +CMD ["run", "--allow-net", "--allow-read", "--allow-env", "/web/server/entry.mjs"]