diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..8471aad25 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +.dockerignore +.git/ +.github/ +build/ +Dockerfile +node_modules/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..9ffce881f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,76 @@ +# syntax=docker/dockerfile:1.4 + +ARG NODE_VERSION=16 +FROM node:${NODE_VERSION}-alpine as build + +RUN apk add --no-cache git +WORKDIR /src +COPY package.json . +COPY package-lock.json . +RUN npm i +COPY / . + +ARG PUBLIC_URL=/ +ARG REACT_APP_SETTINGS_PATH=/editor-settings.toml +RUN npm run build + + +ARG NODE_VERSION=16 +FROM node:${NODE_VERSION}-alpine as caddy + +RUN apk add --no-cache curl + +ARG CADDY_VERSION=2.5.1 + +RUN curl -sSL "https://github.com/caddyserver/caddy/releases/download/v${CADDY_VERSION}/caddy_${CADDY_VERSION}_linux_amd64.tar.gz" | tar xzf - caddy \ + && chown 0:0 caddy \ + && chmod +x caddy +RUN mkdir -p /rootfs/config /rootfs/data \ + && chown 1000:1000 /rootfs/config /rootfs/data + + +FROM scratch + +ENV XDG_CONFIG_HOME /config +ENV XDG_DATA_HOME /data + +COPY <