diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index 06f8b5484b..dc5f6d7c4b 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 🐳 1.9.0 - Alpha of Dashy-Lite Docker Container [PR #306](https://github.com/Lissy93/dashy/pull/306) +- Create an Alpine-based container, that serves the built app up with plain NGINX, instead of Node. +- This is much lighter, but doesn't currently support any of the server-side actions (like status-checks, and writing changes to disk) + ## ✨ 1.8.9 - All New Interactive Config Editor [PR #298](https://github.com/Lissy93/dashy/pull/298) - Builds a new UI-based config editor - Support for sections, items, app config and page info diff --git a/docker/Dockerfile-lite b/docker/Dockerfile-lite new file mode 100644 index 0000000000..8280d38cd2 --- /dev/null +++ b/docker/Dockerfile-lite @@ -0,0 +1,22 @@ +# ----------------------------------------------------------------------------------------- +# A light-weight alternative Docker image, using NGINX rather than Node.js to serve the app +# This means that certain features that require server-side endpoints will not be available +# ----------------------------------------------------------------------------------------- + +# Build Stage - Install dependencies + build the app +FROM node:lts-alpine3.14 as build +WORKDIR /dashy +COPY package*.json . +COPY yarn.lock . +RUN yarn +COPY . . +RUN yarn build + +# Production Stage - Serve up built files with NGINX +FROM nginx:alpine as production +COPY ./docker/nginx.conf /etc/nginx/nginx.conf +COPY --from=build /dashy/dist /usr/share/nginx/html +EXPOSE 80 +ENTRYPOINT ["nginx", "-g", "daemon off;"] + +LABEL maintainer="Alicia Sykes " diff --git a/docker/nginx.conf b/docker/nginx.conf new file mode 100644 index 0000000000..82f6843bd0 --- /dev/null +++ b/docker/nginx.conf @@ -0,0 +1,15 @@ +worker_processes 4; + +events { worker_connections 1024; } + +http { + server { + listen 80; + root /usr/share/nginx/html; + include /etc/nginx/mime.types; + + location /appui { + try_files $uri /index.html; + } + } +} \ No newline at end of file diff --git a/package.json b/package.json index a48dcd73d1..475617be26 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Dashy", - "version": "1.8.9", + "version": "1.9.0", "license": "MIT", "main": "server", "scripts": {