Change Dockerfiles and docker-compose file #4

Open
cami wants to merge 2 commits from docker/image-size into main
9 changed files with 77 additions and 32 deletions

View file

@ -1,3 +1,5 @@
# LaTeX-Brief-Webseite
[![Build Status](https://ci.sp-codes.de/api/badges/cami/Brief-Generator/status.svg)](https://ci.sp-codes.de/cami/Brief-Generator)
This is a small website to easily set a letter in LaTeX

1
backend/.dockerignore Normal file
View file

@ -0,0 +1 @@
venv

View file

@ -1,11 +1,19 @@
FROM python
FROM python:slim as base
FROM base as builder
RUN mkdir /install
WORKDIR /install
COPY requirements.txt /requirements.txt
RUN pip install --prefix=/install -r /requirements.txt
FROM base
COPY --from=builder /install /usr/local
COPY /src /app
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY /src .
CMD [ "flask", "run" ]

View file

@ -1,15 +1,19 @@
FROM python
WORKDIR /app
FROM python:slim as base
RUN apt-get -y update && apt-get -y upgrade
COPY requirements.txt .
FROM base as builder
RUN mkdir /install
WORKDIR /install
RUN apt-get -y install sqlite3
COPY requirements.txt /requirements.txt
RUN pip install --prefix=/install -r /requirements.txt
RUN pip install -r requirements.txt
FROM base
COPY /src .
COPY --from=builder /install /usr/local
CMD [ "python", "app.py" ]
COPY /src /app
WORKDIR /app
CMD [ "flask", "run" ]

21
docker-compose.prod.yml Normal file
View file

@ -0,0 +1,21 @@
version: '3.7'
services:
frontend-prod:
container_name: frontend-lettergen
build:
context: ./frontend
dockerfile: Dockerfile.prod
ports:
- 127.0.0.1:3000:80
backend-prod:
container_name: backend-lettergen
build:
context: ./backend
dockerfile: Dockerfile.prod
ports:
- 127.0.0.1:5000:5000
environment:
DEBUG: "no"
PORT: 5050
HOST: "0.0.0.0"

View file

@ -1,8 +1,12 @@
node_modules
npm-debug.log
build
.dockerignore
**/node_modules/
**/.git
**/.DS_Store
**/node_modules
.env
**/README.md
**/LICENSE
**/.vscode
**/npm-debug.log
**/coverage
**/.env
**/.editorconfig
**/.aws
**/dist

View file

@ -1,4 +1,4 @@
FROM node:latest
FROM node:slim AS build
# set working directory
WORKDIR /app
@ -10,7 +10,9 @@ ENV PATH /app/node_modules/.bin:$PATH
COPY package.json ./
COPY package-lock.json ./
RUN npm install
RUN npm install && npm cache clean --force
EXPOSE 3000
# add app
COPY . ./

View file

@ -1,13 +1,18 @@
FROM node:latest as build
FROM node:slim as build
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json ./
COPY package-lock.json ./
RUN npm ci --silent
RUN npm ci --production && npm cache clean --force
COPY . ./
RUN npm run build
FROM nginx:latest
FROM nginx:alpine
RUN apk -U upgrade
COPY --from=build /app/build /usr/share/nginx/html
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx/nginx.conf /etc/nginx/conf.d

View file

@ -4,6 +4,4 @@ podman stop frontend-dev
podman stop backend-dev
podman rm frontend-dev
podman rm backend-dev
podman rmi localhost/latex-brief-webseite_backend-dev
podman rmi localhost/latex-brief-webseite_frontend-dev
podman-compose up --build