diff --git a/.gitea/workflows/container.yaml b/.gitea/workflows/container.yaml new file mode 100644 index 0000000..e48b3fd --- /dev/null +++ b/.gitea/workflows/container.yaml @@ -0,0 +1,12 @@ +name: Build Multiarch Container Image +on: [push] +jobs: + call-reusable-workflow: + uses: container/multiarch-build-workflow/.gitea/workflows/build.yaml@main + with: + repository: ${{ gitea.repository }} + ref_name: ${{ gitea.ref_name }} + sha: ${{ gitea.sha }} + registry_url: ${{ secrets.REGISTRY_URL }} + registry_user: ${{ secrets.REGISTRY_USER }} + registry_pw: ${{ secrets.REGISTRY_PW }} diff --git a/.woodpecker.yml b/.woodpecker.yml deleted file mode 100644 index aa99300..0000000 --- a/.woodpecker.yml +++ /dev/null @@ -1,12 +0,0 @@ -pipeline: - publish-docker-image: - image: plugins/kaniko - settings: - repo: docker.io/thallian/paperless-ngx - tags: latest,${CI_COMMIT_SHA:0:8},${CI_COMMIT_TAG=pre} - dockerfile: Dockerfile - username: - from_secret: DOCKER_USER - password: - from_secret: DOCKER_PW - diff --git a/Dockerfile b/Containerfile similarity index 62% rename from Dockerfile rename to Containerfile index 83dafc0..70e8b07 100644 --- a/Dockerfile +++ b/Containerfile @@ -1,4 +1,4 @@ -FROM docker.io/alpine:3.18 AS builder +FROM docker.io/alpine:3.19 AS builder RUN apk add --no-cache \ python3-dev \ @@ -7,11 +7,16 @@ RUN apk add --no-cache \ musl-dev \ libpq-dev \ freetype-dev \ - qpdf-dev + qpdf-dev \ + gfortran \ + cmake \ + openblas-dev \ + libffi-dev \ + linux-headers -ENV VERSION=v1.17.2 +ENV VERSION=v2.6.3 ENV ARCHIVE=paperless-ngx-$VERSION.tar.xz -ENV SHA256_SUM=a4b47e4fc6ff2321a2f616fcfeec2740f1866c555fa5bc9d47da85e31e8c05dd +ENV SHA256_SUM=0c74c7d6ba35b576c47481021322d7f5e8847f89c489eed47f5399588aad6d19 RUN wget https://github.com/paperless-ngx/paperless-ngx/releases/download/$VERSION/$ARCHIVE RUN echo "$SHA256_SUM $ARCHIVE" | sha256sum -c - || exit 1 RUN mkdir -p /install @@ -19,13 +24,15 @@ RUN tar xf $ARCHIVE -C /install --strip 1 WORKDIR /install RUN sed '/mysqlclient/d' -i requirements.txt -RUN sed 's/scipy==1.8.1/scipy==1.11.2/g' -i requirements.txt +# RUN sed 's/scipy==1.8.1/scipy==1.11.2/g' -i requirements.txt RUN sed 's/\(\["file_paperless\|\["file_mail\|\["file_celery\)/\["console/g' -i src/paperless/settings.py +RUN sed '/os\.makedirs(LOGGING_DIR, exist_ok=True)/d' -i src/paperless/settings.py + RUN python3 -m venv env RUN env/bin/pip3 install -r requirements.txt -FROM docker.io/thallian/alpine-s6:3.18-3.1.5.0 +FROM docker.io/thallian/alpine-s6:3.19-3.1.6.2 RUN addgroup -g 2222 paperless RUN adduser -h /var/lib/paperless -u 2222 -D -G paperless paperless @@ -41,14 +48,23 @@ RUN apk add --no-cache \ gpg \ tesseract-ocr \ tesseract-ocr-data-deu \ - tesseract-ocr-data-eng + tesseract-ocr-data-eng \ + tesseract-ocr-data-osd \ + unpaper \ + font-liberation \ + poppler-utils COPY --from=builder /install /var/lib/paperless ADD /rootfs / +RUN mkdir /var/lib/paperless/consume +RUN mkdir /var/lib/paperless/data +RUN mkdir /var/lib/paperless/media + RUN chown -R paperless:paperless /var/lib/paperless ENV HOME /var/lib/paperless +ENV S6_CMD_WAIT_FOR_SERVICES_MAXTIME=20000 VOLUME ["/var/lib/paperless/media", "/var/lib/paperless/consume", "/var/lib/paperless/data"] EXPOSE 8000 diff --git a/README.md b/README.md index d75ac39..c4eefc2 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,17 @@ [paperless-ngx](https://github.com/paperless-ngx/paperless-ngx) document management system. +# Initialization + +Inside the container run +`/var/lib/paperless/env/bin/python3 /var/lib/paperless/src/manage.py createsuperuser` +and fill in the values. + # Volumes -- `/var/lib/paperless/media/` - `/var/lib/paperless/consume/` +- `/var/lib/paperless/data/` +- `/var/lib/paperless/media/` # Environment Variables