Change Dockerfiles and docker-compose file
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing

The reason for this change is to reduce the image size for the different containers
This commit is contained in:
cami 2021-09-01 02:20:53 +02:00
parent e32ab08b7d
commit 6a3d510cad
7 changed files with 74 additions and 29 deletions

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
COPY . ./
RUN npm run build
FROM nginx:latest
RUN npm ci --production && npm cache clean --force
COPY . ./
RUN npm run build
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