Picsur docker shows blank screen reddit / selfhosted ---------------------------------------------------------------------- Operations8 · 2023-10-28 10:05 I am still learning docker so be patient please :) I have created a docker-compose.yml file for "picsur". See: \`\`\` version: '3' services: picsur: image: [ghcr.io/caramelfur/picsur:latest](https://ghcr.io/caramelfur/p icsur:latest) container\_name: picsur ports: \- '8077:8044' environment: PICSUR\_HOST: '[0.0.0.0](https://0.0.0.0)' \#PICSUR\_PORT: 8044 PICSUR\_DB\_HOST: picsur\_postgres PICSUR\_DB\_PORT: 5432 PICSUR\_DB\_USERNAME: $dbuser PICSUR\_DB\_PASSWORD: $dbpass PICSUR\_DB\_DATABASE: picsur \## The default username is admin, this is not modifyable PICSUR\_ADMIN\_PASSWORD: $adminpass \## Maximum accepted size for uploads in bytes PICSUR\_MAX\_FILE\_SIZE: 128000000 \## No need to touch this, unless you use a custom frontend \# PICSUR\_STATIC\_FRONTEND\_ROOT: "/picsur/frontend/dist" \## Warning: Verbose mode might log sensitive data \# PICSUR\_VERBOSE: "true" restart: unless-stopped picsur\_postgres: image: postgres:14-alpine container\_name: picsur\_postgres networks: \- proxy environment: POSTGRES\_DB: picsur POSTGRES\_PASSWORD: $dbpass POSTGRES\_USER: $dbuser restart: unless-stopped volumes: \- ./data:/var/lib/postgresql/data \`\`\` I have created an entry in Nginx Proxy Manager: [http://docker-IPv4:8077](http://docker-IPv4:8077) The other dockers running through Nginx are working fine. My problem is that [picsur.myowndomain.com](https://picsur.myowndomain.com) works (with SSL via Let's Encrypt) BUT it show a blank page. ---------------------------------------------------------------------- tschloss · 2023-10-28 11:48 Don‘t know picsur. But first step the service should work without reverse proxy. So try from docker host, then from same subnet. Also the directive networks inside of the sb container makes no sense. Delete both lines. ---------------------------------------------------------------------- Operations8 · 2023-10-28 12:09 The directive networks, i removed that (edited the start post). I did this the right way right? my other dockers also work via http://internal-docker-IP:port. but picsur doesnt work via that way. Connection refused. so [http://internal-docker-IP:8044/](http://172.16.20.245:8044/) (8077 also doesnt work) Docker logs NPM command, only shows me certifcate created and renew info. So something is wrong but i cannot figure out what. ---------------------------------------------------------------------- tschloss · 2023-10-28 12:17 Your obfuscated IP is the LAN IP of the docker host? If you are on the host you can also use localhost. 8077 should be the external port. Probably this is the problem. If the connection is refused with direct http request, then it will also be refused when asked by the reverse proxy. This should be visible in the error log of nginx when going through this path. Don‘t know this app/image. But I think you have to investigate here. Did you check docker logs containername? ---------------------------------------------------------------------- Operations8 · 2023-10-28 13:05 I apologize for not knowing but what do you mean by obfuscated IP? ---------------------------------------------------------------------- tschloss · 2023-10-28 13:50 In your text you did not use the actual IP but some textual placeholder. My question if the placeholder means „LAN-IP of the docker host“? ---------------------------------------------------------------------- Operations8 · 2023-10-28 14:06 You mean the 0.0.0.0 ? That is what i have stated there in my compose file. Should i change that to my 172.*.*.* IP address? (My docker server IP) ---------------------------------------------------------------------- tschloss · 2023-10-28 15:10 No. This is the text I am referring to: „via http://internal-docker- IP:port. but picsur doesnt work via that way. Connection refused. so http://internal-docker-IP:8044/ (8077 also doesnt work)“ I am unsure if I decode this meta information correctly. ---------------------------------------------------------------------- Operations8 · 2023-10-28 18:21 Yes that part also drives me crazy :P ​ [http://172.16.10.10:8077](http://172.16.10.10:8077) gives me connection refused. When i try [http://172.16.10.10:3100](http://172.16.10.10:3100) (just one example) i get the openspeedtest docker. ---------------------------------------------------------------------- tschloss · 2023-10-28 18:34 Is this your LAN subnet? It looks very much as a docker virtual network? These addresses shouldn‘t be accessible from outside unless you tinker with the network settings of docker. Containers should be accessible on localhost:externalPort from the host docker is running on. ---------------------------------------------------------------------- Operations8 · 2023-10-28 18:49 Yes it looks like that but it is my LAN subnet. ---------------------------------------------------------------------- tschloss · 2023-10-28 19:53 Ok, this supports my opinion that this container has an inside problem. Did you inspect „docker logs containername“ for the problematic container? If no hints, you can go inside the container „docker exec -it containername /bin/bash“ (/bin/sh). and check if the service is available from here (curl, lsof - might need to be installed). ---------------------------------------------------------------------- Operations8 · 2023-10-28 21:15 Found the (or a) problem. https://ibb.co/KNMdFtq But not sure how to fix "wrong authentication". This is my .env (i changed the passwords) https://ibb.co/f1Bt2hv ---------------------------------------------------------------------- tschloss · 2023-10-28 21:36 The problem seems to be the communication to postgres server. Not sure if the network connect already fails or it is the auth. Not sure if the name is resolved properly. Further testing would be: - verify from inside picsur container if the pg server is reachable under the name used in picsur compose. (docker inspect with containername or networkname could help also) - expose the db port to be able to access db from host with a pg- client to see if the database is there and can be used with user/password You might find a picsur help community - I have no glue here. ---------------------------------------------------------------------- Operations8 · 2023-10-28 21:42 I have solved the 2 errors, Docker stop picsur Docker rm picsur Docker image Docker rmi picsur Number Sudo rm -r /picsur/data Docker-compose up -d But still white screen. ---------------------------------------------------------------------- tschloss · 2023-10-29 09:25 Difficult to say. If a request bounces (loop!?) between virtual servers in your nginx you should be able to see traces in the access log (which might be distributed across files per service). If the webserver built into your application is involved at least part of the trace might be in the log of this application. You have to sniff around. Also I am nit sure what exactly this error means (look it up). A redirect is a dedicated response a webserver sends a 3xx status code to the client with a new URL. The client then makes a new request to this URL. A proxy call is no redirect in this sense. So if the error is related to 301‘s these should be easy to find. You can also use curl which does not follow a redirection automatically but displays a redirect response. So you can manually step through a path of redirects. Start with the original URL. (You won‘t see if the proxy gets redirected by the upstream; but again nginx access.log is your friend).