diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3b1c2f7..b40c8a3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,7 +36,7 @@ jobs: uses: docker/build-push-action@v2 with: context: . - platforms: linux/amd64,linux/arm64,linux/arm/v7 + platforms: linux/amd64,linux/arm64 push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.docker_meta.outputs.tags }} labels: ${{ steps.docker_meta.outputs.labels }} diff --git a/Dockerfile b/Dockerfile index 0af98a5..55857b8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ ARG ARCH -FROM ${ARCH}python:3.10-slim +FROM ${ARCH}python:3.11-slim # set version label ARG BUILD_DATE @@ -14,14 +14,17 @@ ENV APPRISE_CONFIG_DIR /config ENV APPRISE_ATTACH_DIR /attach ENV APPRISE_PLUGIN_PATHS /plugin -# Install nginx and supervisord +# Install nginx, supervisord, and cryptography dependencies RUN apt-get update -qq && \ - apt-get install -y -qq nginx supervisor build-essential libffi-dev libssl-dev \ - pkg-config python-dev rustc + apt-get install -y -qq nginx supervisor \ + build-essential libffi-dev libssl-dev cargo pkg-config python3-dev rustc + +# Cryptography documents that the latest version of pip3 must always be used +RUN pip3 install --upgrade pip # Install requirements and gunicorn COPY ./requirements.txt /etc/requirements.txt -RUN pip3 install -q -r /etc/requirements.txt gunicorn +RUN pip3 install --no-cache-dir -q -r /etc/requirements.txt gunicorn --no-binary cryptography # Copy our static content in place COPY apprise_api/static /usr/share/nginx/html/s/ @@ -33,7 +36,7 @@ WORKDIR /opt/apprise COPY apprise_api/ webapp # Cleanup -RUN apt-get remove -y -qq build-essential libffi-dev libssl-dev python-dev rustc pkg-config && \ +RUN apt-get remove -y -qq build-essential libffi-dev libssl-dev python3-dev cargo rustc pkg-config && \ apt-get clean autoclean && \ apt-get autoremove --yes && \ rm -rf /var/lib/{apt,dpkg,cache,log}/ diff --git a/requirements.txt b/requirements.txt index adbb3f4..8e963a2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ django -apprise == 1.4.0 +apprise == 1.4.5 gunicorn # 3rd party service support diff --git a/tox.ini b/tox.ini index 1def4f7..a5e0566 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py310,coverage-report +envlist = py311,coverage-report skipsdist = true [testenv] @@ -14,7 +14,7 @@ commands = coverage run --parallel -m pytest {posargs} apprise_api flake8 apprise_api --count --show-source --statistics -[testenv:py310] +[testenv:py311] deps= -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt