Compare commits

...

10 Commits

4 changed files with 43 additions and 20 deletions

View File

@ -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 }}

View File

@ -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

View File

@ -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 \ RUN apk add --no-cache \
python3-dev \ python3-dev \
@ -7,11 +7,16 @@ RUN apk add --no-cache \
musl-dev \ musl-dev \
libpq-dev \ libpq-dev \
freetype-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 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 wget https://github.com/paperless-ngx/paperless-ngx/releases/download/$VERSION/$ARCHIVE
RUN echo "$SHA256_SUM $ARCHIVE" | sha256sum -c - || exit 1 RUN echo "$SHA256_SUM $ARCHIVE" | sha256sum -c - || exit 1
RUN mkdir -p /install RUN mkdir -p /install
@ -19,13 +24,15 @@ RUN tar xf $ARCHIVE -C /install --strip 1
WORKDIR /install WORKDIR /install
RUN sed '/mysqlclient/d' -i requirements.txt 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 '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 python3 -m venv env
RUN env/bin/pip3 install -r requirements.txt 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 addgroup -g 2222 paperless
RUN adduser -h /var/lib/paperless -u 2222 -D -G paperless paperless RUN adduser -h /var/lib/paperless -u 2222 -D -G paperless paperless
@ -41,14 +48,23 @@ RUN apk add --no-cache \
gpg \ gpg \
tesseract-ocr \ tesseract-ocr \
tesseract-ocr-data-deu \ 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 COPY --from=builder /install /var/lib/paperless
ADD /rootfs / 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 RUN chown -R paperless:paperless /var/lib/paperless
ENV HOME /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"] VOLUME ["/var/lib/paperless/media", "/var/lib/paperless/consume", "/var/lib/paperless/data"]
EXPOSE 8000 EXPOSE 8000

View File

@ -1,10 +1,17 @@
[paperless-ngx](https://github.com/paperless-ngx/paperless-ngx) document [paperless-ngx](https://github.com/paperless-ngx/paperless-ngx) document
management system. 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 # Volumes
- `/var/lib/paperless/media/`
- `/var/lib/paperless/consume/` - `/var/lib/paperless/consume/`
- `/var/lib/paperless/data/`
- `/var/lib/paperless/media/`
# Environment Variables # Environment Variables