#Calendar implementation for the HTWK Leipzig timetable. Evaluation and display of the individual dates in iCal format. #Copyright (C) 2024 HTWKalender support@htwkalender.de #This program is free software: you can redistribute it and/or modify #it under the terms of the GNU Affero General Public License as published by #the Free Software Foundation, either version 3 of the License, or #(at your option) any later version. #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU Affero General Public License for more details. #You should have received a copy of the GNU Affero General Public License #along with this program. If not, see . # build stage FROM docker.io/node:lts-alpine AS build ARG COMMIT_HASH ENV COMMIT_HASH=$COMMIT_HASH WORKDIR /app COPY package*.json ./ RUN npm ci COPY / ./ RUN echo "COMMIT_HASH=$COMMIT_HASH" >> .env.commit RUN npm run build # development stage FROM docker.io/node:lts-alpine AS dev ARG COMMIT_HASH ENV COMMIT_HASH=$COMMIT_HASH WORKDIR /app COPY package*.json ./ RUN echo "COMMIT_HASH=$COMMIT_HASH" >> .env.commit RUN npm install COPY . ./ # production stage # https://hub.docker.com/r/bitnami/nginx -> always run as non-root user FROM docker.io/bitnami/nginx:1.27 AS prod # copy build files from build container COPY --from=build /app/dist /app COPY ./nginx.conf /opt/bitnami/nginx/conf/nginx.conf EXPOSE 8000