plcom/Dockerfile
2023-06-03 15:54:44 +02:00

31 lines
748 B
Docker

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"]