use python bookwork instead of alpine

pull/106/head
Jeff Culverhouse 11 months ago
parent 33f27af961
commit 7137ef80f9

@ -0,0 +1,22 @@
name: Update Docker Hub Description
on:
push:
branches:
- main
paths:
- README.md
- .github/workflows/dockerhub-description.yaml
jobs:
dockerHubDescription:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Docker Hub Description
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PAT }}
repository: peterevans/dockerhub-description
short-description: ${{ github.event.repository.description }}
enable-url-completion: true

@ -1,20 +1,27 @@
FROM python:3-alpine
# builder stage -----------------------------------------------------------------------------------
FROM python:3-slim AS builder
RUN python -m venv /usr/src/app
# Enable venv
ENV PATH="/usr/src/app/venv/bin:$PATH"
RUN apt-get update && \
apt-get install --no-install-recommends -y build-essential && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN python3 -m ensurepip
# Upgrade pip and setuptools
RUN pip3 install --upgrade pip setuptools
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip3 install --no-cache-dir --upgrade -r requirements.txt
COPY requirements.txt .
RUN python3 -m venv .venv
RUN .venv/bin/pip3 install --no-cache-dir --upgrade -r requirements.txt
# production stage --------------------------------------------------------------------------------
FROM python:3-slim AS production
WORKDIR /usr/src/app
COPY . .
COPY --from=builder /usr/src/app/.venv .venv
RUN mkdir /config
RUN touch /config/config.yaml
@ -22,12 +29,16 @@ RUN touch /config/config.yaml
ARG USER_ID=1000
ARG GROUP_ID=1000
RUN addgroup -g $GROUP_ID appuser && \
adduser -u $USER_ID -G appuser --disabled-password --gecos "" appuser
RUN addgroup --gid $GROUP_ID appuser && \
adduser --uid $USER_ID --gid $GROUP_ID --disabled-password --gecos "" appuser
RUN chown -R appuser:appuser .
RUN chown appuser:appuser /config/*
RUN chmod 0664 /config/*
USER appuser
ENTRYPOINT [ "python", "-u", "./app.py" ]
ENV PATH="/usr/src/app/.venv/bin:$PATH"
ENTRYPOINT [ "python3", "./app.py" ]
CMD [ "-c", "/config" ]

@ -1,6 +1,8 @@
services:
amcrest2mqtt:
image: weirdtangent/amcrest2mqtt:latest
context: .
target: production
container_name: amcrest2mqtt
restart: unless-stopped
volumes:

Loading…
Cancel
Save