Hier eine Anleitung, wie man Paperless-ngx mit TIKA_GOTENBERG im Ubuntu 24.04 LTS Proxmox Container installieren kann.
Zeitzone einstellen
dpkg-reconfigure tzdata
Damit zukünftig keine Updates zurückgehalten werden.
nano /etc/apt/apt.conf.d/99-Phased-Updates
das einfügen
Update-Manager::Always-Include-Phased-Updates true;
APT::Get::Always-Include-Phased-Updates true;
Mit Strg+S speichern und mit Strg+X schließen
Updates installieren
apt update && apt dist-upgrade -y && apt autoremove && apt autoclean -y
Offiziellen GPG Key erstellen/hinzufügen:
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
Fügt das Repository zu den Apt-Quellen hinzu
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
Installation von Docker
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && curl -L https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
Nun die Installation von Paperless-ngx
Ordner erstellen
mkdir paperless-ngx
In den Ordner wechseln
cd paperless-ngx
Docker-Compose Datei erstellen
nano docker-compose.yml
Das einfügen (kann nach belieben angepasst werden, ich habe auch nichts gegen Verbesserungen)
services:
broker:
image: docker.io/library/redis:7
restart: always
volumes:
- redisdata:/data
db:
image: docker.io/library/postgres:16
restart: always
volumes:
- ./database:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless-ngx
restart: always
depends_on:
- db
- broker
- gotenberg
- tika
ports:
- "8000:8000"
volumes:
- ./data:/usr/src/paperless/data
- ./media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
environment:
PAPERLESS_OCR_LANGUAGE: deu
PAPERLESS_TZ: Europe/Berlin
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
gotenberg:
image: docker.io/gotenberg/gotenberg:latest
restart: always
# The gotenberg chromium route is used to convert .eml files. We do not
# want to allow external content like tracking pixels or even javascript.
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"
tika:
image: docker.io/apache/tika:latest
restart: always
volumes:
redisdata:
Mit Strg+S speichern und mit Strg+X schließen
Installation starten
docker-compose up -d
Also passt.
Nun schauen wir mal mit docker ps
ob die Container laufen…
Laufen alle.
Nun mal zur Anmeldung… http://ip:8000
Wau, endlich Zugriff.
Und nun das nächste Problem…
Da kann man blöde werden…
Also noch den Befehl ausführen…
docker compose run --rm webserver createsuperuser
Endlich angemeldet…
Kann man PDF,DOCX, XLSX,XLS,TXT,ODT… Dateien hochladen? Ja!
Funktioniert das automatische Hochladen über den “consume” Oderner? Ja.
Wie geschrieben, diese docker-compose.yml darf gerne optimiert werden :-)