Hi Simon, Can you try with docker env var - PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION=False?
On Wed, May 17, 2023 at 12:03 AM Simon Thorpe <si...@thorpevillage.com> wrote: > So here is my temporary solution, given the environment I am building is > not a critical production system and only used for testing. > > docker compose up -d > docker exec -it -u0 pgadmin sed -i "/app\.config\['sessions'] = > dict\(\)/a\app\.config\['WTF_CSRF_ENABLED'\] = False" > /pgadmin4/pgAdmin4.py > > After the docker container starts, I am inserting the above Python line to > disable Flask from CSRF checking. With this, I can now easily access the > app without getting the errors. > > Simon > ------------------------------ > *From:* Simon Thorpe <si...@thorpevillage.com> > *Sent:* Tuesday, May 16, 2023 8:17 AM > *To:* Aditya Toshniwal <aditya.toshni...@enterprisedb.com> > *Cc:* pgadmin-support@lists.postgresql.org < > pgadmin-support@lists.postgresql.org> > *Subject:* Re: Help with running pgadmin in a docker container > > Attached... > > Seems like a csrf problem. A quick google search and it seems that when > Docker is > > > https://stackoverflow.com/questions/65233859/dockerize-pgadmin-the-csrf-tokens-do-not-match > > So I tried accessing the server in Firefox. And it all worked fine. Went > back to Chrome, closed all my tabs and accessed the server again, now > Chrome works. Logged out on Chrome, and attempted to log back in. Get the > errors again. > > Closed Chrome again, returned to the pgadmin login page and logged in. > Works fine. > > So it seems that upon a logout and return, using the same browser tab, > it's failing the csrf check. Should the logout call delete a cookie or > something? > > > Simon > ------------------------------ > *From:* Aditya Toshniwal <aditya.toshni...@enterprisedb.com> > *Sent:* Monday, May 15, 2023 10:36 PM > *To:* Simon Thorpe <si...@thorpevillage.com> > *Cc:* pgadmin-support@lists.postgresql.org < > pgadmin-support@lists.postgresql.org> > *Subject:* Re: Help with running pgadmin in a docker container > > Hi Simon, > > Can you please share the docker logs for v7? > > On Tue, May 16, 2023 at 6:21 AM Simon Thorpe <si...@thorpevillage.com> > wrote: > > Note, I rolled back and used 6.21 of pgadmin... > > pgadmin: > container_name: pgadmin > image: dpage/pgadmin4:6.21 > depends_on: > - postgresdb > environment: > - PGADMIN_DEFAULT_PASSWORD=nottherealpassword > - PGADMIN_DEFAULT_EMAIL=ad...@domain.com > ports: > - "3004:80" > > I still get an error, but this time the UX shows a red box lower right > with the error... > > "INTERNAL SERVER ERROR" > > and then disappears. > > again a whole load of 400 errors in the browser console. > > The UX also doesn't show the "Servers" item under the "Browser" heading on > the left hand menu. > > Something not right. Would love some pointers as to how to get it working. > I would imagine this would also fail for others as I am using a pretty > standard container for both pgadmin and postgres. > > Simon > ------------------------------ > *From:* Simon Thorpe <si...@thorpevillage.com> > *Sent:* Monday, May 15, 2023 5:40 PM > *To:* pgadmin-support@lists.postgresql.org < > pgadmin-support@lists.postgresql.org> > *Subject:* Help with running pgadmin in a docker container > > Hi > > I'm running a postgres server in a docker container and pgadmin in another > docker container, i'm using a docker compose file to build them both. I am > able to start both containers fine, I can access the pgadmin UI fine. I can > login and add a new server, all seems well. I can see and navigate the > postgres server via the pgadmin UX. > > However, if I logout and back in, I cannot use the UX at all. The browser > throws a lot of errors and I can't even re-add the server. Not sure what is > going on. My environment is the following... > > services: > pgadmin: > container_name: pgadmin > image: dpage/pgadmin4 > depends_on: > - postgresdb > environment: > - PGADMIN_DEFAULT_PASSWORD=nottherealpassword > - PGADMIN_DEFAULT_EMAIL=ad...@domain.com > ports: > - "3004:80" > postgresdb: > image: postgres:15 > container_name: postgresdb > environment: > - POSTGRES_DB=postgres > - POSTGRES_PASSWORD=nottherealpassword > - POSTGRES_USER=admin > volumes: > - postgresdb:/var/lib/postgresql/ > volumes: > postgresdb: > > When I attempt to relogin, I can authenticate. But the browser throws the > errors below. It hints that the local pgadmin database is corrupted > (/var/lib/pgadmin/pgadmin4.db?). > > Any clues as to how I get this working? > > GET https://pgadmin.skyflash.co/browser/nodes/ 400 > app.bundle.js?ver=70100:2 Uncaught (in promise) Error: Node Load Error... > at app.bundle.js?ver=70100:2:2318033 > at s (app.bundle.js?ver=70100:2:2309094) > at Generator.<anonymous> (app.bundle.js?ver=70100:2:2310431) > at Generator.next (app.bundle.js?ver=70100:2:2309457) > at y (app.bundle.js?ver=70100:2:2315084) > at i (app.bundle.js?ver=70100:2:2315287) > POST https://pgadmin.skyflash.co/browser/master_password 400 > GET https://pgadmin.skyflash.co/browser/check_corrupted_db_file 400 > Error: Minified React error #31; visit > https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=Error%3A%20Request%20failed%20with%20status%20code%20400 > for the full message or use the non-minified dev environment for full > errors and additional helpful warnings. > at xo (vendor.others.js?ver=70100:109:3096293) > at vendor.others.js?ver=70100:109:3101114 > at Fs (vendor.others.js?ver=70100:109:3112100) > at $a (vendor.others.js?ver=70100:109:3157983) > at Tl (vendor.others.js?ver=70100:109:3143455) > at kl (vendor.others.js?ver=70100:109:3143383) > at El (vendor.others.js?ver=70100:109:3143246) > at yl (vendor.others.js?ver=70100:109:3140233) > at vendor.others.js?ver=70100:109:3089971 > at t.unstable_runWithPriority (vendor.others.js?ver=70100:109:3476540) > GET https://pgadmin.skyflash.co/misc/bgprocess/ 400 > Error: Request failed with status code 400 > at e.exports (vendor.others.js?ver=70100:109:168712) > at e.exports (vendor.others.js?ver=70100:109:171135) > at XMLHttpRequest.v (vendor.others.js?ver=70100:109:164032) > Uncaught (in promise) Error: Minified React error #31; visit > https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=Error%3A%20Request%20failed%20with%20status%20code%20400 > for the full message or use the non-minified dev environment for full > errors and additional helpful warnings. > at xo (vendor.others.js?ver=70100:109:3096293) > at vendor.others.js?ver=70100:109:3101114 > at Fs (vendor.others.js?ver=70100:109:3112100) > at $a (vendor.others.js?ver=70100:109:3157983) > at Tl (vendor.others.js?ver=70100:109:3143455) > at kl (vendor.others.js?ver=70100:109:3143383) > at El (vendor.others.js?ver=70100:109:3143246) > at yl (vendor.others.js?ver=70100:109:3140233) > at vendor.others.js?ver=70100:109:3089971 > at t.unstable_runWithPriority (vendor.others.js?ver=70100:109:3476540) > POST https://pgadmin.skyflash.co/settings/store 400 > Uncaught (in promise) Error: Request failed with status code 400 > at e.exports (vendor.others.js?ver=70100:109:168712) > at e.exports (vendor.others.js?ver=70100:109:171135) > at XMLHttpRequest.v (vendor.others.js?ver=70100:109:164032) > > > > -- > Thanks, > Aditya Toshniwal > pgAdmin Hacker | Sr. Software Architect | *enterprisedb.com* > <https://www.enterprisedb.com/> > "Don't Complain about Heat, Plant a TREE" > -- Thanks, Aditya Toshniwal pgAdmin Hacker | Sr. Software Architect | *enterprisedb.com* <https://www.enterprisedb.com/> "Don't Complain about Heat, Plant a TREE"