ich bin leider nicht so versiert in dem Thema, habe aber bisher mit der Masterclass alles selbst hinbekommen.
Gerade wollte ich auf die neue Verison 3 updaten, und paperless danach wieder starten.
Leider hat der Start nicht geklappt und es kommt immer der Fehler:
”Container paperless-webserver-1 wurde unerwartet beendet”
Auch ein zurückspielen eines Backups auf die vorherigen Version bringt immer nach dem Start wieder diesen Fehler. Updates und Backups einspielen haben sonst immer funktioniert.
Kann mir hier bitte jemand helfen wie ich das Problem wieder beheben kann?
ps.
Laut Container Manager läuft der Webserver für 7 Sekunden und wird dann beendet.
Es wurden in letzter Zeit keine Updates mehr an Datenbanken oder Änderungen an den Config´s vorgenommen. Ich weiß also nicht, was genau jetzt das Problem sein könnte.
danke für deine schnelle Rückmeldung.
Ich muss gestehen, ich habe mich natürlich nicht an die Anweisungen gehalten.
Das würde auch erklären, warum der Webserver nicht startet.
Da ich aber auf ein funktionierendes Backup for dem Upgrade zurück gegangen bin (per Hyperbackup) sollte das doch zumindest wieder normal starten, oder? Leider tut es das auch nicht mehr und deshalb bin ich jetzt natürlich überfragt und kommen nicht mehr weiter.
Wäre super hier Unterstützung zu bekommen, dass zumindest die alte Version aus dem Backup wieder starten.
PS. Die Backups liefen vor dem Update problemlos. Teste die in regelmäßigen Abständen immer mal wieder.
Wie genau hast Du denn Backup gemacht? Ich bezweifle das das Backup das Containerimage korrekt setzt. Du musst also Dein Composer File entsprechend anpassen falls noch nicht geschehen. Da gibt es ja ein Eintrag
Sollten in der docker-compose.env noch einige paperless-Variablen hinterlegt sein so müsst ihr diese bitte überprüfen und gegebenfalls anpassen. Bitte vorher die Migrations-doc in Github von Paperless lesen.
Paperless verlangt jetzt in der Version 3 einen Secret Key in der docker-compose.env
# Required. A unique secret key for session tokens and signing.
# Generate with: python3 -c "import secrets; print(secrets.token_urlsafe(64))"
PAPERLESS_SECRET_KEY=change-me
Wie lange dauert denn die Umsetzung der Migration ?
Bei mir war auf latest und habs eben auch erst bemerkt das der webserver nicht mehr lief… auf 2.20.15 zurückgestuft und läuft wieder ohne Probleme.
@Tossi84 Ein HyperBackup ist kein garant alleine dass das System nach dem Restore wieder funktioniert.
Da hilft nur regelmäßig zu gucken ob es irgendwelche Probleme schon beim Export gibt.
Bei mir läuft jeden Tag n Export per Cronjob und einmal Wöchentlich fürs schlechte Gewissen n HyperBackup… verwendet habe ich immer nur nen Export für Neuinstallation oder Blanke Installationen auf anderen Geräten hoch zu ziehen und nie gab es Probleme.
Schau dir mal diese Dokumentation von Paperless an. Dort steht alles wichtige für die Migration drin. Kommt drauf an was du so an Paperless Variablen gesetzt hast in deiner Docker-compose.env bzw. docker-compose.yml
Deine Antwort beantwortet mir nicht die Frage wie lange die Umsetzung realistisch dauert ?
Nur ne grobe Hausnummer reicht mir…
Ich kenn den Guid schon aber werde mich erstmal weigern solange die 2.20.15 läuft und ich nicht weiß wie viel Nerven und Schweiß ich opfern muss
@Tossi84 das mit der Version hat CoolTux schon in seinem zweiten Post geschrieben und stand auch schon im anderen Beitrag über selbiges Problem.
anfangs habe ich versucht meine vorherige Version wiederherzustellen. Backup wieder eingespielt reicht nicht aus, da in der docker-compose.yml der Wert beim webserver auf “latest” steht.
Hier musst du händisch von “latest” auf Version “2.20.15” stellen.
Danach sollte deine vorherige Version wieder Starten.
Mittlerweile habe ich aber auch das Update auf die Version 3.0.3 durchgeführt.
Hier hat @RKuehne seine Anleitung perfekt funktioniert.
Bei mir waren es 4 Änderungen, die ich durchführen musste.
docker-compose.env
setzen des Secret_Keys
# Paperless Secret Key - Ein eindeutiger geheimer Schlüssel für Sitzungstoken und die Signierung - Ab Version 3 benötigt
# Erzeugt in ssh mit: python3 -c "import secrets; print(secrets.token_urlsafe(64))"
PAPERLESS_SECRET_KEY=change-me
PAPERLESS_OCR_MODE von “skip” auf “auto” stellen
# OCR-Modus: Dokumente, die bereits OCR eingebettet haben, werden nicht erneut OCRed. Archiv wird übersprungen.
PAPERLESS_OCR_MODE=auto
docker-compose.yml
PAPERLESS_OCR_MODE von “skip” auf “auto” stellen
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_DBENGINE: postgresql
Auch wenn ich mich wiederhole so möchte dennoch einmal darauf hinweisen das es eine sehr schlechte Idee ist als Container Image Tag „latest“ zu wählen. Besser ist es sich an zu gewöhnen die korrekten Versions Tags zu setzen.
(ocr_mode) wenn du das in der docker-compose.env eingetragen hast muss du das dort ändern. Nicht jeder hat Variablen in seiner docker-compose.env oder docker-compose.yml zusätzlich eingetragen.
# UID und GID können variieren. Einfach via SSH einloggen und den Befehl "id" ausführen.
# Diese Werte dann hier eintragen:
USERMAP_UID=1026
USERMAP_GID=100
# Falls weitere Sprachen installiert werden sollen, einfach das # vor der nächsten Zeile entfernen (und Sprachen eintragen)
#PAPERLESS_OCR_LANGUAGES=tur ces
# Zeitzone: Berlin
PAPERLESS_TIME_ZONE=Europe/Berlin
# OCR-Sprache: Deutsch
PAPERLESS_OCR_LANGUAGE=deu
# Ausgabeformat: Jahr/Dokumententitel (kann man ändern)
PAPERLESS_FILENAME_FORMAT={{created_year}}/{{title}}
# OCR-Modus: Dokumente, die bereits OCR eingebettet haben, werden nicht erneut OCRed. Archiv wird übersprungen.
PAPERLESS_OCR_MODE=auto
# Rekursives Konsumieren aktiviert:
PAPERLESS_CONSUMER_RECURSIVE=true
# Tags aus Unterordnern im Scaninput-Ordner generieren:
PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=true
# CPU Einstellungen 2 Kern
PAPERLESS_TASK_WORKERS=1
PAPERLESS_THREADS_PER_WORKER=2
# Timeout für große Dokumente: 28800 Sekunden = 8 Stunden
PAPERLESS_WORKER_TIMEOUT=28800
# Paperless Secret Key - Ein eindeutiger geheimer Schlüssel für Sitzungstoken und die Signierung - Ab Version 3 benötigt
# Erzeugt in ssh mit: python3 -c "import secrets; print(secrets.token_urlsafe(64))"
PAPERLESS_SECRET_KEY=change-me
.yml:
# docker-compose file for running paperless from the Docker Hub.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# In addition to that, this docker-compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker-compose pull'.
# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker-compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
version: "3.4"
services:
broker:
image: docker.io/library/redis:7.0
restart: unless-stopped
volumes:
- redisdata:/data
db:
image: docker.io/library/postgres:17
restart: unless-stopped
volumes:
- ../pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- ../data:/usr/src/paperless/data
- ../media:/usr/src/paperless/media
- ../export:/usr/src/paperless/export
- /volume1/scaninput:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_DBENGINE: postgresql
volumes:
redisdata: