Paperless Startet nicht mehr Container paperless-webserver-1 wurde unerwartet beendet

Hallo Zusammen,

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.

Das sind diem letzten Punkte im Protokoll:

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.

Vielen Dank für eure Hilfe.

Hast Du Dich an die Anweisungen bezüglich Upgrade auf Version 3 gehalten?

https://docs.paperless-ngx.com/migration-v3/

Hallo CoolTux,

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. :frowning:

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

image:

Oder so ähnlich. Schau mal hier

da hat schon heute jemand was zu geachrieben

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


Erzeugen kann man den mit:

python3 -c "import secrets; print(secrets.token_urlsafe(64))"

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

https://github.com/paperless-ngx/paperless-ngx/blob/dev/docs/migration-v3.md

Hallo Zusammen,

danke für eure Hilfe. Das alleinige zurücksetzen per Hyperbackup hat nicht ausgereicht, da in der compose.yml folgender Wert geändert werden musste:

“ghcr.io/paperless-ngx/paperless-ngx:latest” zu “ghcr.io/paperless-ngx/paperless-ngx:2.20.15”

Nun startet auch das webserver wieder ganz normal auf der Version 2.20.15

Vielen Dank für eure Hilfe

Deine Antwort beantwortet mir nicht die Frage wie lange die Umsetzung realistisch dauert ? :smiley:
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 :smiley:

@Tossi84 das mit der Version hat CoolTux schon in seinem zweiten Post geschrieben und stand auch schon im anderen Beitrag über selbiges Problem.

Grob 5 bis 10 min. Du musst ja nur die docker-compose kontrollieren und gegebenfalls anpassen

Wie hast du das nun gelöst @Tossi84 ? - ich habe genau das gleiche Problem - ebenfalls nach dem Update.

sorry doppelpost… siehe den nächsten Beitrag

Hallo Flo,

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

  1. 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
  1. 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

  1. PAPERLESS_OCR_MODE von “skip” auf “auto” stellen
environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
      PAPERLESS_DBENGINE: postgresql
  1. webserver zurück auf “latest” stellen
webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest

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.

Kannst du mir hier bitte nochmal helfen ?

ja die Zeile muss ergänzt werden. (dbenergie)

(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.

Ich habe den secret key in der .env ergänzt und ebenfalls ocr mode auf auto gesetzt.

Ebenso die zeile: paperless_dbengine ergänzt und image wieder auf latest gesetzt. leider geht es immer noch nicht. (dies in .yml)

Welche Werte hast du denn in deiner .env bzw. .yml stehen?
Eventuell ist noch ein Wert drin der für Version 3 angepasst werden muss.

@RKuehne hat in dem Thread zum Release der Version 3 die Änderungen gepostet.

Hier musst du mal schauen, ob in deiner Konfiguration einer dieser Werte drin steht.
Wenn ja musst du diese auch auf die neue Werte anpassen.

.env:

# 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:

@RKuehne

den Secret_Key hast du erzeugt und in deiner env-datei eingetragen ?