Paperless-ngx paperless_ngx: CSRF - Fehlermeldung unklar

w00dcu11er

Benutzer
Sehr erfahren
Mitglied seit
16. Sep 2022
Beiträge
882
Punkte für Reaktionen
310
Punkte
89
Guten Morgen!

Ich bin seit paar Tagen an dem Problem dran und schaffe ohne Hilfe nicht weiter ranzukommen.

Es handelt sich um das Docker-Programm 'paperless_ngx' (aktuellste Version über Portainer installiert; Portainer hat auch aktuellste Version). Es ging monatelang gut. Nach dem Update von DSM 6.2.4 auf 7.1. (DS916+) vor paar Tagen hat es mit der folgenden Fehlermeldung angefangen:

1663310516019.png

Das Interessante ist: über interne IP geht das Login ohne Probleme. Nur mit der Subdomain (über Reverse Proxy konfiguiert - was ja unter DSM 6.2.4. gut lief) funktioniert das Login nicht mehr.

Ich habe via Docker mehrere Tools laufen lassen. Bei allen gehen die Logins über die Subdomains (inkl. SSL) fehlerfrei, nur bei paperless_ngx leider nicht.

Die üblichen Fehlerbehebungen (die ich über die Forensuche und Google-Suche 'gefunden' habe) blieben ohne Wirkung wie:
* Tool im Docker gestoppt, neu gestartet sowie Variablen gecheckt (auf Basis von mariushosting eingerichtet - 4yi)
* Browser-Caches geleert
* Browser gewechselt
* Port geändert (im Sinne von "umbiegen" auf andere externe Port)
* Reverse Proxy Eintrag geändert bzw. gelöscht und erneut angelegt
1663311040660.png
(mit oder ohne HSTS - keine Wirkung)
* Subdomains (über CNAME - wie alle anderen Subdomains) geändert bzw. gelöscht und neu angelegt
* CSRF-Funktion im DSM-System de- und reaktiviert (inkl. Reboot)
1663310861272.png
Logs / Protokolle im Docker/Container spucken diesbezüglich gar nichts raus.

Nochmals: mit der internen IP funktioniert das Login, mit der Domainadresse dagegen nicht (unter DSM 6.2.4 hat es super und monatelang funktioniert).
Bei anderen Docker-Programm wie Bitwarden etc. geht es mit der Domain - auch nach dem Upgrade auf DSM 7.x - nach wie vor wunderbar.

Hat wer eine Idee, wo ich noch nachsehen kann? Danke! :)
 
Zuletzt bearbeitet:

kerbel

Benutzer
Mitglied seit
24. Nov 2013
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Guten Abend,
der Thread ist zwar schon etwas älter, aber aus gegebenem Anlass möchte ich daran anschließen
Als absoluter Laie was NAS, Docker und Portainer angeht, habe ich gut 2 Wochen gebraucht, um Paperless in der jetzt aktuellen Version zum Laufen zu bekommen. Ich habe exakt die gleichen Voraussetzungen und Vorgehensweisen wie oben, intern und auch mit VPN ist das Programm zu erreichen,
wenn ich es über externen Zugriff versuche, erhalte ich die gleiche Fehlermeldung. ich habe die die von Papillon genannten Anpassungen in der Datei docker-compose.yml vorgenommen und den Container neu erstellt. (Die docker-compose.yml) befindet sich sowohl im Ordner Portainer als auch in dem Ordner consume, den ich außerhalb von Docker auf dem NAS abgelegt habe und der den Namen Sammelbahnhof trägt.

Die entsprechenden Variablen sehen in der Datei so aus:

PAPERLESS_URL: https://xy.myname.synology.me
PAPERLESS_ADMIN_USER: xxxxxx
PAPERLESS_ADMIN_PASSWORD: yyyyyyy
PAPERLESS_OCR_LANGUAGE: deu+eng
PAPERLESS_OCR_IMAGE_DPI=300
PAPERLESS_ALLOWED_HOSTS: 'localhost,xy.myname.synology.me'
PAPERLESS_CSRF_TRUSTED_ORIGINS = https://xy.myname.synology.me
PAPERLESS_FILENAME_FORMAT={correspondent}/{created_year}/{created}-{correspondent}-{document_type}-{tag_list}-{title}
PAPERLESS_FILENAME_DATE_ORDER=YMD
PAPERLESS_IGNORE_DATES="yyyy-mm-dd
PAPERLESS_CONSUMER_DELETE_DUPLICATES=true
PAPERLESS_CONSUMER_RECURSIVE=true
Liegt hier vielleicht ein Syntaxfehler vor, den ich nicht sehe?
Viele Grüße aus Westfalen
kerbel
 

update-freak

Benutzer
Mitglied seit
19. Feb 2018
Beiträge
402
Punkte für Reaktionen
36
Punkte
28
Hallo zusammen,

habe mit dieser Anleitung (https://mariushosting.com/how-to-install-paperless-ngx-on-your-synology-nas/) paperless-ngx aufgesetzt.
Funktioniert auch soweit wenn ich mit der internen IP dadrauf zugreife: 192.168.178.24:8777
Zusätzlich habe ich einen reverse proxy eingerichtet, damit ich außerhalb mit https://DYNDNSADRESSE.org:1046 zugreife.
Hier bekomme ich jedoch die oben genannte Fehlermeldung ("Verboten (403)").
Ich habe PAPERLESS_URL: https://DYNDNSADRESSE.org eingefügt.
Im Router habe ich 1046 (TCP) freigegeben.

Sieht jemand einen Fehler oder weiß woran es liegen könnte?

EDIT:
Fehler gefunden.
Anstatt PAPERLESS_URL: https://DYNDNSADRESSE.org muss PAPERLESS_URL: https://DYNDNSADRESSE.org:1046 verwendet werden
 
Zuletzt bearbeitet:
  • Like
Reaktionen: MoNosadac

XMottek

Benutzer
Mitglied seit
04. Nov 2022
Beiträge
6
Punkte für Reaktionen
0
Punkte
1
Aber es ist doch gerade Sinn eines Reverse-Proxy, dass man eben keine Ports im Router freigibt. Der Reverse Proxy soll Anfragen über Port 443 annehmen und intern an den Port (bei dir 1046) weitergeben. Ich habe nämlich das gleiche Problem. Anmeldeseite von Paperless-ngx ist erreichbar, aber nach der Anmeldung erscheint die CSRF-Fehlermeldung.
 

Grischabock

Benutzer
Mitglied seit
10. Sep 2009
Beiträge
282
Punkte für Reaktionen
10
Punkte
24
Habe das selbe Problem und bevor ich nun einen Mist mache frage ich mal nach.
in der docker-compose.env Habe ich die URL eingetragen und das File gesichert. Was muss ich nun genau machen dass es wirksam wird und ich alle Daten und Konfigurationen behalte?
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Du musst es neustarten. Also docker-compose down && docker-compose up -d
 
  • Like
Reaktionen: Grischabock

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.189
Punkte für Reaktionen
766
Punkte
154
Und wenn du es über Portainer gemacht hast:

stack.PNG

P.S. Muss man den "docker-compose down" wirklich machen? Ich hab früher immer nur "docker-compose up -d" gemacht.
 
  • Like
Reaktionen: Grischabock

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Weiß ich gar nicht genau... Ich hab es immer gemacht, weil ich dachte man muss es ja erst ausmachen bevor man es anmacht :D
 

Grischabock

Benutzer
Mitglied seit
10. Sep 2009
Beiträge
282
Punkte für Reaktionen
10
Punkte
24
Danke euch, unter Portainer mit dem Stack Update wusste ich es aber mit docker in der Web Oberfläche suchte ich vergebens.

Also geht es immer nur über die Konsole

Habe es nun mit sudo ausgeführt aber das will nicht klappen. Müssen solche eingaben als root ausgeführt werden?

Code:
/volume1/docker/paperlessngx/config$ sudo docker-compose down && docker-compose up -d
[+] Running 3/3
 ⠿ Container paperlessngx      Removed                                                                                                            22.2s
 ⠿ Container Paperless_Broker  Removed                                                                                                             5.8s
 ⠿ Network config_default      Removed                                                                                                             1.5s
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.project%3Dconfig%22%3Atrue%7D%7D": dial unix /var/run/docker.sock: connect: permission denied
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
sudo docker-compose down && sudo docker-compose up -d
Das down brauchst du ja aber nicht mehr.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.216
Punkte für Reaktionen
1.035
Punkte
224
Ich nutze für Updates (!) folgende Befehle als root (sonst sudo davorsetzen oder sudo -i vor den ersten):

Code:
docker stop paperlessngx
sleep 5s
cd /volume1/docker/paperless/config/
docker-compose pull
docker-compose up -d

Den sleep-Befehl nutze ich, damit alle drei Container gestoppt sind; habe ich mal im Netz gesehen, keine Ahnung, ob das wirklich notwendig ist.
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.189
Punkte für Reaktionen
766
Punkte
154

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Ist das sleep wirklich notwendig? Also mit docker-compose down bräuchtest du es nicht, weil er würde warten bis er fertig ist mit dem nächsten Befehl. Bei stop macht er das glaube ich im Hintergrund, bin mir aber nicht sicher. Aber ich bin kein Fan von magic Numbers :D
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.216
Punkte für Reaktionen
1.035
Punkte
224
Cool, gut zu wissen. Ist angepasst.
 

Grischabock

Benutzer
Mitglied seit
10. Sep 2009
Beiträge
282
Punkte für Reaktionen
10
Punkte
24
sudo docker-compose down && sudo docker-compose up -d
damit hat es bestens funktioniert. Vielen Dank
Aber warum die Option -d ?

Ich nutze für Updates (!) folgende Befehle als root (sonst sudo davorsetzen oder sudo -i vor den ersten):
Danke, lege ich mir gerne auch mal noch zur Seite.


Zu meinem Verständnis: Sobald ich etwas an der docker-compose.env ändere muss ich den Container so neu erstellen ist das korrekt? Wie ist es denn wenn man änderungen an der docker-compose.yml macht?
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.216
Punkte für Reaktionen
1.035
Punkte
224
Genauso. Und wie Adama schreibt, es reichen die Zeile zum Pfad und docker compose up -d.
 
  • Like
Reaktionen: Grischabock

Grischabock

Benutzer
Mitglied seit
10. Sep 2009
Beiträge
282
Punkte für Reaktionen
10
Punkte
24
Oh da gab es neue Beiträge die nicht geladen wurden...

Also wenn ich das so überfliege, reicht "docker-compose up -d" völlig aus, also brauchst du nur noch 2 Zeilen. ;)
Also mache ich nur einen Change Directory und den up Befehl?
 


 

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