diff --git a/.docker/bot/Dockerfile b/.docker/bot/Dockerfile index e281de1..01dcc1e 100644 --- a/.docker/bot/Dockerfile +++ b/.docker/bot/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-slim-bullseye AS builder +FROM python:3.11-slim-bullseye AS base WORKDIR /app @@ -6,25 +6,22 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ && rm -rf /var/lib/apt/lists/* +FROM base AS builder + COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt -FROM python:3.11-slim-bullseye AS development - -WORKDIR /app +FROM base AS development -COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages COPY --from=builder /usr/local/bin /usr/local/bin +COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages CMD ["python3", "main.py"] +FROM base AS production -FROM python:3.11-slim-bullseye AS production - -WORKDIR /app - -COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages COPY --from=builder /usr/local/bin /usr/local/bin +COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages COPY . . diff --git a/.docker/web/Dockerfile b/.docker/web/Dockerfile index 325cf57..b7c444c 100755 --- a/.docker/web/Dockerfile +++ b/.docker/web/Dockerfile @@ -1,49 +1,36 @@ -FROM python:3.11-slim-bullseye AS builder +FROM python:3.11-slim-bullseye AS base WORKDIR /app - RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ && rm -rf /var/lib/apt/lists/* +FROM base AS builder COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt - -FROM python:3.11-slim-bullseye AS development - +FROM base AS development WORKDIR /app - COPY --from=builder /usr/local/bin /usr/local/bin COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages - -ENV FLASK_APP=app.py -ENV FLASK_ENV=development -ENV FLASK_RUN_PORT=5000 -ENV FLASK_RUN_HOST=0.0.0.0 - +ENV FLASK_APP=app.py \ + FLASK_ENV=development \ + FLASK_RUN_PORT=5000 \ + FLASK_RUN_HOST=0.0.0.0 EXPOSE 5000 - CMD ["flask", "run"] - -FROM python:3.11-slim-bullseye AS gunicorn +FROM base AS gunicorn RUN pip install --no-cache-dir gunicorn - -FROM python:3.11-slim-bullseye AS production - -WORKDIR /app +FROM base AS production COPY --from=builder /usr/local/bin /usr/local/bin - -COPY --from=gunicorn /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages +COPY --from=gunicorn /usr/local/bin /usr/local/bin +COPY --from=gunicorn /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages COPY . . - ENV GUNICORN_CMD_ARGS="--bind=0.0.0.0:5000 --workers=3" - EXPOSE 5000 - -CMD ["gunicorn", "app:app"] \ No newline at end of file +CMD ["gunicorn", "app:app"]