Paperless-ngx Paperless-ngx – DMS via Docker auf dem NAS

cs-banane

Benutzer
Mitglied seit
07. Apr 2024
Beiträge
47
Punkte für Reaktionen
9
Punkte
8
So ein Mist. Ich habe grade nochmal versucht das Zertifikat zu löschen und ein komplett neues zu erstellen und jetzt zeigt der mir an, dass ich für diese Domain die maximale Anzahl von Anfragen gemacht habe.

Ich denke, wir müssen das hier für 2-3 Tage auf stop setzen bis ich mir wieder ein LetsCrypt Zertifikat machen kann.

Danke auf jeden Fall für eure Hilfestellungen und eure Zeit. Ich melde mich dann in einigen Tagen nochmal.
 

cs-banane

Benutzer
Mitglied seit
07. Apr 2024
Beiträge
47
Punkte für Reaktionen
9
Punkte
8
Okay, hab mich nochmal angesetzt und habe jetzt den Fehler des Ganzen gefunden. Statt 443 habe ich versehentlich den Port 433 aufgemacht.

Habs jetzt gefixt und das ging sofort.

Vielen Dank an alle, die mir geholfen haben.
 
  • Haha
Reaktionen: MattCB

MattCB

Benutzer
Mitglied seit
31. Jan 2012
Beiträge
382
Punkte für Reaktionen
71
Punkte
28
Aber schön, dass du den Fehler 40 wenigstens zugibst. (y)
 

Q_MaxPower_Q

Benutzer
Mitglied seit
14. Nov 2016
Beiträge
11
Punkte für Reaktionen
1
Punkte
3
moin moin,
vielen Dank schon mal für die tolle Anleitung! Leider habe ich ein kleines Problem, was ich noch nicht so verstehe. Vllt kan nmir jemand helfen?

1726897916241.png
Der Fehler ist eigentlich selbsterklärend vom redis container....

... jedoch macht es für mich nicht so viel sinn:
1726898117423.png

Was übersehe ich?

Das komische ist, dass der Fehler nicht direkt auftritt, sondern erst nach ca einer halben Stunde, die der COntainer online ist?

Hat jemand eine Idee?


hier noch meine compose
version: "3.6"
services:
broker:
environment:
PUID: 1029 #dockerLimited user
PGID: 65536 #dockerLimited group
container_name: redis
image: docker.io/library/redis:7
restart: unless-stopped
volumes:
- /volume1/docker/paperless/data/:/data
db:
container_name: postgres
image: docker.io/library/postgres:16
restart: unless-stopped
volumes:
- /volume1/docker/paperless/pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
POSTGRES_PORT: 5433
PUID: 1029 #dockerLimited user
PGID: 65536 #dockerLimited group
webserver:
container_name: paperlessngx
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
ports:
- 34343:8000
volumes:
- /volume1/docker/paperless/data:/usr/src/paperless/data
- /volume1/docker/paperless/media:/usr/src/paperless/media
- /volume1/docker/paperless/export:/usr/src/paperless/export
- /volume1/docker/paperless/consume:/usr/src/paperless/consume
env_file: /volume1/docker/projects/paperless-env/.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PUID: 1029 #dockerLimited user
PGID: 65536 #dockerLimited group
PAPERLESS_ADMIN_USER: "admin"
PAPERLESS_ADMIN_PASSWORD: "root"
volumes:
data:
media:
pgdata:
redisdata:
 

Hellraiser123

Benutzer
Sehr erfahren
Mitglied seit
31. Jul 2024
Beiträge
764
Punkte für Reaktionen
410
Punkte
139
Wo hast du diese Compose her? Wieso mountest du den selben Ordner in redis und paperless? Das sind unterschiedliche Daten.... Vielleicht macht das sogar deine Installation kaputt...
Du hast bei beiden ... paperless/data gemountet.
Das kommt sich von den Dateien natürlich in die Quere
 

Q_MaxPower_Q

Benutzer
Mitglied seit
14. Nov 2016
Beiträge
11
Punkte für Reaktionen
1
Punkte
3
das war natürlich selten dämlich... ich fixe das mal schnell - dann wird es sicherlich funktionieren.

Danke dir fürs aufzeigen des Baumes im Wald ;)
 
  • Like
Reaktionen: peterhoffmann

vowi

Benutzer
Mitglied seit
16. Sep 2011
Beiträge
48
Punkte für Reaktionen
0
Punkte
6
Falls ebenfalls jemand auf der Suche in Bezug auf ein Update von paperless (und nur paperless, kein postgr o.ä.) ist: Ich wollte meine portainer paperless Installation (Version 2.0.1 mit postgreSQL DB, damals wie hier beschrieben installiert) auf die neueste paperless Version updaten. Ich hatte etwas Bedenken, weil man oft von Inkompatibilitäten nach dem Update in Bezug auf postgre liest. Dabei bin ich auf diese Anleitung gestoßen. Damit ging es ohne Probleme. Die meisten Profis hier werden sicher schmunzeln oder die Stirn runzeln :), aber für mich als Anfänger war diese einfache Anleitung Gold wert.
 

Ede

Benutzer
Mitglied seit
23. Jan 2021
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Hi zusammen,

ich habe versucht die Container lt. Post #232/233 zu erstellen, leider bekomme ich bei der redis DB folgenden Log Eintrag:
Fatal error: can't open the RDB file dump.rdb for reading: Permission denied

meine aktuelle yaml sieht folgendermaßen aus:
Code:
version: "3.6"
services:
  broker:
    container_name: redis
    image: redis:latest
    restart: unless-stopped
    volumes:
      - ../redis:/data
    networks:
      client:
        ipv4_address: 192.168.175.26

  db:
    container_name: postgres
    image: postgres:15
    restart: unless-stopped
    volumes:
      - ../pgdata:/var/lib/postgresql/data
      - /volume2/docker_cfg/paperlessngx/exportpostgres:/var/lib/postgresql/data/backup
    networks:
      client:
        ipv4_address: 192.168.175.27
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless

  webserver:
    container_name: paperlessngx
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - db
      - broker
    ports:
          - 34343: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
      - ../consume:/usr/src/paperless/consume
    networks:
      client:
        ipv4_address: 192.168.175.28
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db

networks:
  client:
    external: true

volumes:
  data:
  media:
  pgdata:
  redisdata:
Die Netzwerko config hatte ich reingenommen weil ich den broker nicht erreichen konnte. Aber vermutlich hängt das in erster Linie eben daran, dass der redis container zwar läuft aber eben den o.g. Fehler anzeigt.

Vermutlich muss ich bei den Berechtigungen etwas berücksichtigen?
Hat jemand einen Tipp für mich?

Danke & Gruß,
Ede
 

Hellraiser123

Benutzer
Sehr erfahren
Mitglied seit
31. Jul 2024
Beiträge
764
Punkte für Reaktionen
410
Punkte
139
Der Fehler steht da doch.
Fatal error: can't open the RDB file dump.rdb for reading: Permission denied
Er DARF die Datei nicht öffnen. Es ist ein Rechteproblem. Du musst die Redisdaten auch gar nicht mappen, weil die sind nicht relevant für Backups oder ähnliches.
Entferne den ganzen Network Krempel und ersetz mal
Code:
volumes:
      - ../redis:/data
durch
Code:
volumes:
      - redisdata:/data

BTW: Du kannst alle Volumes ganz unten bis auf redisdata auch entfernen. Die werden ja von dir eh nicht benutzt.
 

Ede

Benutzer
Mitglied seit
23. Jan 2021
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Danke für deine Antwort.
Habe ich gemacht, aber da es keinen Ordner redisdata gibt kommt nun: Error response from daemon: Bind mount failed: '/volume2/docker_cfg/paperlessngx/redisdata' does not exists

Ich hatte gedacht, dass es mit dem Beispiel Post in #232 so klappen sollte. Aber evtl. Muss ich sonst noch mal die docker Berechtigungen checken.
 
Zuletzt bearbeitet von einem Moderator:

Hellraiser123

Benutzer
Sehr erfahren
Mitglied seit
31. Jul 2024
Beiträge
764
Punkte für Reaktionen
410
Punkte
139
Poste deine compose.yml wie du sie jetzt hast. Es wird dauch keinen Ordner redisdata geben, weil das ein Docker Volume ist.
 

Ede

Benutzer
Mitglied seit
23. Jan 2021
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Poste deine compose.yml wie du sie jetzt hast.
Code:
version: "3.6"
services:
  broker:
    container_name: redis
    image: redis:latest
    restart: unless-stopped
    volumes:
      - ../redis:/data

  db:
    container_name: postgres
    image: postgres:15
    restart: unless-stopped
    volumes:
      - ../pgdata:/var/lib/postgresql/data
      - /volume2/docker_cfg/paperlessngx/exportpostgres:/var/lib/postgresql/data/backup
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless

  webserver:
    container_name: paperlessngx
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - db
      - broker
    ports:
      - 34343: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
      - ../consume:/usr/src/paperless/consume
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
 

Hellraiser123

Benutzer
Sehr erfahren
Mitglied seit
31. Jul 2024
Beiträge
764
Punkte für Reaktionen
410
Punkte
139
Hast du dir meine Antwort eigentlich durchgelesen?
Ich würde dir wirklich empfehlen dich mit Docker zu befassen wenn du sowas betreiben willst.
YAML:
services:
  broker:
    container_name: redis
    image: redis:latest
    restart: unless-stopped
    volumes:
      - redisdata:/data # Das solltest du ersetzen

  db:
    container_name: postgres
    image: postgres:15
    restart: unless-stopped
    volumes:
      - ../pgdata:/var/lib/postgresql/data
      - /volume2/docker_cfg/paperlessngx/exportpostgres:/var/lib/postgresql/data/backup
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless

  webserver:
    container_name: paperlessngx
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - db
      - broker
    ports:
      - 34343: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
      - ../consume:/usr/src/paperless/consume
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db

volumes:
  redisdata: #Das solltest du da lassen
 

Ede

Benutzer
Mitglied seit
23. Jan 2021
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Gelesen ja aber vermutlich nicht den Zusammenhang hinbekommen. Hatte die beiden „..“ noch drin.
Und da das dann nicht funktioniert hatte unten die Volumes komplett rausgenommen.
Nun bin ich einen Schritt weiter:
Code:
/sbin/docker-prepare.sh: line 74: /usr/src/paperless/data/migration_lock: Permission denied
Soweit ich das richtig gelesen habe laufen die Docker Container unter User ID 1000.
Habe das Verzeichnis, das auf der syn liegt per chown entsprechend berechtigt, aber bisher ohne Erfolg.
 
Zuletzt bearbeitet von einem Moderator:

Ede

Benutzer
Mitglied seit
23. Jan 2021
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Danke, habe nachdem das mit der UID auch nicht geklppt hat einen Stack gefunden bei dem es funktioniert.
Was Docker angeht muss ich mich ehrlicherweise noch was einlesen.

Grüße und ein schönes WE,
Ede
 

deltapapa

Benutzer
Mitglied seit
06. Jan 2019
Beiträge
111
Punkte für Reaktionen
5
Punkte
24
Moin Moin,
ich habe gerade eben das Update auf die neuste Version 2.13.4 via Portainer gemacht, und jetzt startet PL nicht mehr:
Code:
Paperless-ngx docker container starting...

Creating directory scratch directory /tmp/paperless

Adjusting permissions of paperless files. This may take a while.

Waiting for PostgreSQL to start...

Connected to PostgreSQL

Waiting for Redis...

Connected to Redis broker.

Apply database migrations...

Traceback (most recent call last):

  File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 279, in ensure_connection

    self.connect()

  File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner

    return func(*args, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 256, in connect

    self.connection = self.get_new_connection(conn_params)

                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner

    return func(*args, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/backends/postgresql/base.py", line 332, in get_new_connection

    connection = self.Database.connect(**conn_params)

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/psycopg/connection.py", line 98, in connect

    attempts = conninfo_attempts(params)

               ^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/psycopg/_conninfo_attempts.py", line 50, in conninfo_attempts

    raise e.OperationalError(str(last_exc))

psycopg.OperationalError: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  File "/usr/src/paperless/src/manage.py", line 10, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 413, in run_from_argv

    self.execute(*args, **cmd_options)

  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 459, in execute

    output = self.handle(*args, **options)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 107, in wrapper

    res = handle_func(*args, **kwargs)

          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/migrate.py", line 118, in handle

    executor = MigrationExecutor(connection, self.migration_progress_callback)

               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/migrations/executor.py", line 18, in __init__

    self.loader = MigrationLoader(self.connection)

                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/migrations/loader.py", line 58, in __init__

    self.build_graph()

  File "/usr/local/lib/python3.12/site-packages/django/db/migrations/loader.py", line 235, in build_graph

    self.applied_migrations = recorder.applied_migrations()

                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/migrations/recorder.py", line 89, in applied_migrations

    if self.has_table():

       ^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/migrations/recorder.py", line 63, in has_table

    with self.connection.cursor() as cursor:

         ^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner

    return func(*args, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 320, in cursor

    return self._cursor()

           ^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 296, in _cursor

    self.ensure_connection()

  File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner

    return func(*args, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 278, in ensure_connection

    with self.wrap_database_errors:

         ^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__

    raise dj_exc_value.with_traceback(traceback) from exc_value

  File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 279, in ensure_connection

    self.connect()

  File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner

    return func(*args, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 256, in connect

    self.connection = self.get_new_connection(conn_params)

                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner

    return func(*args, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/django/db/backends/postgresql/base.py", line 332, in get_new_connection

    connection = self.Database.connect(**conn_params)

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/psycopg/connection.py", line 98, in connect

    attempts = conninfo_attempts(params)

               ^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/site-packages/psycopg/_conninfo_attempts.py", line 50, in conninfo_attempts

    raise e.OperationalError(str(last_exc))

django.db.utils.OperationalError: [Errno -2] Name or service not known

Für mich liest sich das so raus, als wenn es da ein Pyhton Problem gibt.... ABER,
Jetzt sehe ich gerade, meine Testversion lief vorher durch Export/ Import von Postgres 16 auf Postgres 17 einwandfrei und jetzt auch nach dem Update, mein Livesystem jedoch vorher auf 16 und hat sich auf das Update auf 17 aktualisiert. Kann das das Problem sein?
Hatte leider im Stack nicht explicit Postgres 16 angegeben...

Wenn das so ist, mach ich mein Livesystem platt und importiere die Daten, das ist kein Problem. Würde nur gerne wissen, was da schief gegangen ist
 

deltapapa

Benutzer
Mitglied seit
06. Jan 2019
Beiträge
111
Punkte für Reaktionen
5
Punkte
24
Jo, cool, habe meinen Stack verändert, nochmal Deployment und zack, lief es wieder.
Macht aber auch nichts, werde sowieso zu postgres 17 wechseln.
Ich habe mal geplant, dafür eine Anleitung auf meiner HP zu schreiben, bestünde da interesse?
Dann würde ich meinen Klickweg mal als Tutorial aufschreiben...

1731176097925.png
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat