ci: smaller docker image
This commit is contained in:
30
Dockerfile
30
Dockerfile
@@ -1,10 +1,30 @@
|
||||
FROM python:3.11-slim
|
||||
FROM python:3.11.11-alpine3.20 AS builder
|
||||
|
||||
ARG POETRY_VERSION=1.8.5
|
||||
ENV POETRY_HOME=/opt/poetry
|
||||
ENV POETRY_NO_INTERACTION=1
|
||||
ENV POETRY_VIRTUALENVS_IN_PROJECT=1
|
||||
ENV POETRY_VIRTUALENVS_CREATE=1
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
ENV POETRY_CACHE_DIR=/opt/.cache
|
||||
|
||||
RUN pip install "poetry==${POETRY_VERSION}"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY . /app/
|
||||
COPY pyproject.toml poetry.lock /app/
|
||||
|
||||
RUN pip install --no-cache-dir poetry==1.8.5 && \
|
||||
poetry install --no-interaction --no-dev
|
||||
RUN poetry install --only main --no-root && rm -rf $POETRY_CACHE_DIR
|
||||
|
||||
CMD ["sh", "-c", "poetry run ppgee $USERNAME $PASSWORD"]
|
||||
COPY ppgee /app/ppgee
|
||||
|
||||
RUN poetry install --without dev
|
||||
|
||||
FROM python:3.11.11-alpine3.20 AS runtime
|
||||
|
||||
ENV PATH="/app/.venv/bin:$PATH"
|
||||
|
||||
COPY --from=builder /app /app
|
||||
|
||||
ENTRYPOINT [ "ppgee" ]
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
ppgee:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
environment:
|
||||
- USERNAME=00011122233
|
||||
- PASSWORD=00011122233
|
||||
Reference in New Issue
Block a user