Blank page after fresh set-up, docker-compose.yml file fault? TRAEFIK

Hi, sorry to bother others but i need your help.
Yea i know tutorial is written in yaml file but i am using only yml completely right now and its only problem is of syntaxes. But even if i do it in yaml i had same problem, after fresh install.

i am using traefik as revers-proxy but already configured it and it works i also can see it inside traefik dashboard but i cant connect to passbolt url

For traefik i am using network which is called proxy

this is my config file docker-compose.yml :

version: '3.9'

services:
  db:
    image: mariadb:10.3
    restart: unless-stopped
    networks:
      - proxy
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=true
      - MYSQL_DATABASE=passbolt
      - MYSQL_USER=passbolt
      - MYSQL_PASSWORD=P4ssb0lt
    volumes:
      - database_volume:/var/lib/mysql

  passbolt:
    image: passbolt/passbolt:latest-ce
    restart: unless-stopped
    networks:
      - proxy
    depends_on:
      - db
    environment:
      - APP_FULL_BASE_URL=https://passbolt.yourdomain.com
      - DATASOURCES_DEFAULT_HOST=db
      - DATASOURCES_DEFAULT_USERNAME=passbolt
      - DATASOURCES_DEFAULT_PASSWORD=P4ssb0lt
      - DATASOURCES_DEFAULT_DATABASE=passbolt
      - EMAIL_TRANSPORT_DEFAULT_HOST=mail.yourdomain.com
      - EMAIL_TRANSPORT_DEFAULT_PORT=587
      - EMAIL_TRANSPORT_DEFAULT_USERNAME=no-reply@yourdomain.com
      - EMAIL_TRANSPORT_DEFAULT_PASSWORD=your-own-password-for-mail-no-reply@yourdomain.com
      - EMAIL_TRANSPORT_DEFAULT_TLS=true
      - EMAIL_DEFAULT_FROM=no-reply@yourdomain.com
    volumes:
      - gpg_volume:/etc/passbolt/gpg
      - jwt_volume:/etc/passbolt/jwt
    command: ["/usr/bin/wait-for.sh", "-t", "0", "db:3306", "--", "/docker-entrypoint.sh"]
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.passbolt.entrypoints=http"
      - "traefik.http.routers.passbolt.rule=Host(`passbolt.yourdomain.com`)"
      - "traefik.http.middlewares.passbolt-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.passbolt.middlewares=passbolt-https-redirect"
      - "traefik.http.routers.passbolt-secure.entrypoints=https"
      - "traefik.http.routers.passbolt-secure.rule=Host(`passbolt.yourdomain.com`)"
      - "traefik.http.routers.passbolt-secure.tls=true"
      - "traefik.http.routers.passbolt-secure.service=passbolt"
      - "traefik.http.services.passbolt.loadbalancer.server.port=13443"
      - "traefik.docker.network=proxy"
    ports:
      - 13080:80
      - 13443:443
networks:
  proxy:
    external: true

volumes:
  database_volume:
  gpg_volume:
  jwt_volume:

Thanks for your help ! :wink:

For better understanding my yml files this is for portainer:

version: '3'

services:
  portainer:
    image: portainer/portainer-ce
    container_name: portainer
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    networks:
      - proxy
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /home/username/portainer/data:/data
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.portainer.entrypoints=http"
      - "traefik.http.routers.portainer.rule=Host(`portainer.yourdomain.com`)"
      - "traefik.http.middlewares.portainer-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.portainer.middlewares=portainer-https-redirect"
      - "traefik.http.routers.portainer-secure.entrypoints=https"
      - "traefik.http.routers.portainer-secure.rule=Host(`portainer.yourdomain.com`)"
      - "traefik.http.routers.portainer-secure.tls=true"
      - "traefik.http.routers.portainer-secure.service=portainer"
      - "traefik.http.services.portainer.loadbalancer.server.port=9000"
      - "traefik.docker.network=proxy"

networks:
  proxy:
    external: true

Well Im haveing issuse with docker as well but I may see an issues with your docker compose file…
YOUHAVE

    environment:
      - APP_FULL_BASE_URL=https://passbolt.yourdomain.com
      - DATASOURCES_DEFAULT_HOST=db
      - DATASOURCES_DEFAULT_USERNAME=passbolt
      - DATASOURCES_DEFAULT_PASSWORD=P4ssb0lt
      - DATASOURCES_DEFAULT_DATABASE=passbolt
      - EMAIL_TRANSPORT_DEFAULT_HOST=mail.yourdomain.com
      - EMAIL_TRANSPORT_DEFAULT_PORT=587
      - EMAIL_TRANSPORT_DEFAULT_USERNAME=no-reply@yourdomain.com
      - EMAIL_TRANSPORT_DEFAULT_PASSWORD=your-own-password-for-mail-no-reply@yourdomain.com
      - EMAIL_TRANSPORT_DEFAULT_TLS=true
      - EMAIL_DEFAULT_FROM=no-reply@yourdomain.com
    volumes:

WHAT IS SHOULD BE

    environment:
      - APP_FULL_BASE_URL=https://passbolt.yourdomain.com << replace with your domain like passbolt.mycooldoman.org
      - DATASOURCES_DEFAULT_HOST=db
      - DATASOURCES_DEFAULT_USERNAME=passbolt
      - DATASOURCES_DEFAULT_PASSWORD=P4ssb0lt
      - DATASOURCES_DEFAULT_DATABASE=passbolt
      - EMAIL_TRANSPORT_DEFAULT_HOST=mail.yourdomain.com<- replace with your email login domain like "smtp.google.com"
      - EMAIL_TRANSPORT_DEFAULT_PORT=587
      - EMAIL_TRANSPORT_DEFAULT_USERNAME=no-reply@yourdomain.com <-login for email COOLemail@google.com
      - EMAIL_TRANSPORT_DEFAULT_PASSWORD=your-own-password-for-mail-no-reply@yourdomain.com <-- Password for email...
      - EMAIL_TRANSPORT_DEFAULT_TLS=true
      - EMAIL_DEFAULT_FROM=no-reply@yourdomain.com<--Replace with your email
    volumes:

Sorry man only mistake is

it should be

  • EMAIL_TRANSPORT_DEFAULT_PASSWORD=your-own-password-for-mail-no-reply

but i doesn’t have problem to fill up correct answers …
i have problem when i fill them up, make docker compose up -d then i cannot to connect to it, only blank screen then and nothing happen i can see it also in traefik dashboard.

Soo i can have somewhere problem inside the code…
I need port for it because 443 and 80 uses traefik it self but i didn’t run traefik with passbolt like is mention but its already installed so it can be problem of my settings…

When you access your passbolt is it at https://passbolt.yourdomain.com or https://passbolt.yourdomain.com:portnumber ?

Usually a blank page means the full base URL is not correct

I am using https://passbolt.yourdomain.com/
nothing else if i try to connect local its https://1.2.3.4:13443/

But if i am using full domain name cloudflare provider says server its shutdown sometimes, sometimes you have a blank page. On local IP its everytime blank page.

But as i think traefik did port for me :slight_smile: .

I will provide screenshots for you then :slight_smile:



I think @clayton is suggesting if you use a port, the App full base url env variable needs to have a :port at the end so the urls for the page dependencies are built correctly.

But that is not likely to work if that port is not open to the public. It should be handled by trefik.

Seems like Docker traefik issues have spiked lately but I’m not clear why. Could be because it’s harder to troubleshoot when there are 4 things in the mix: Docker, portainer, traefik, cloudflare.

What guide is being used for this?

@garrett @clayton
portainer never mind, i used as dashboard for docker nothing else everything is in folder and have static yml file.
Set-up for traefik is by this guide: TRAEFIK,PORTAINER,SSL CLOUDFLARE by techno tim

I also created folder for passbolt, create yml file for it and add labels for traefik
So for now is only passbotl + traefik which handle ssl with cloudflare.

in clouflare on ssl its set up :
Full (strict)
Encrypts end-to-end, but requires a trusted CA or Cloudflare Origin CA certificate on the server

So now it looks like passbolt doesnt create correctly web page or traefik have bad labels on passbolt.

Also this as template for me: ChristianLempa, Passbolt with SSL cloudflare

But as i mentioned i already have set-up traefik in another folder so i think its only problem with my correct yml file :smiley:

In the browser are you seeing errors in the console log? Checking the extension logs might be useful too.

  • If you are using Google Chrome can you please go to: chrome://extensions ; Activate the Developer mode in the top right corner ; look for the Passbolt card and click details button ; Looks for the Inspect views and the index.html link ; A new window will appear this is the debugger of the browser extension, try to reproduce the error and send us the logs.

  • On Firefox, you can go to: about:debugging#/runtime/this-firefox ; Then locate Passbolt and click Inspect ; A new tab for the console of the browser extension will appear.

I am using Brave so its like chrome without google :smiley:
If there is something else i can provide tell me how and i will do it :smiley: i am not best in debugg.

Just to confirm: If you are also running other extensions can you confirm the problem exists with only the passbolt extension enabled?

Yea i have 3 more extension Synology, Google Docs, Plasma integration and all of them are without issue / bug in console as i inspect same way passbolt extension

Can you share a screenshot of your cloudflare config for this?

Can you be please more specific ? DNS or something else with SSL ?

8 posts were split to a new topic: Docker-compose with TRAEFIK

Hi man, i know what you mean but i am not using passbolt.yourdomain.com in config.yml file because thats its only for external sites inside my private network ( mean which is not inside of server like NAS, or PROXMOX)
So thats why i am using labels in passbolt config for to get traefik know about passbolt like hej passbolt when you are creating there is a traefik which will manage connection 443 and 80 on port 13443 and 13080.

I tried before change HTTP to HTTPS or add port to it in config but that doesnt help :slight_smile:
So maybe someone who is better in code of traefik can help me out :smiley:

YEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEES !!!
i found the problem ! I DID IT !! I AM HAPPY !! :smiley: YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH!!

sooo boys it was so simple as … :smiley: i wanna cry … look at this shit :open_mouth:

Soo delete it ports for eeach services like DB and passbolt and only thing is yea really

“traefik.http.services.passbolt.loadbalancer.server.port=80”

Nothing else dont add 443 or custom port just fkn 80 HTTP port and traefik will handle it :smiley:

so under you can have yml file for passbolt under traefik

version: '3.9'

services:
  db:
    image: mariadb:10.10
    restart: unless-stopped
    networks:
      - proxy
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=true
      - MYSQL_DATABASE=passbolt
      - MYSQL_USER=passbolt
      - MYSQL_PASSWORD=P4ssb0lt
    volumes:
      - database_volume:/var/lib/mysql

  passbolt:
    image: passbolt/passbolt:latest-ce
    restart: unless-stopped
    networks:
      - proxy
    depends_on:
      - db
    environment:
      - APP_FULL_BASE_URL=https://passbolt.yourdomain.com
      - DATASOURCES_DEFAULT_HOST=db
      - DATASOURCES_DEFAULT_USERNAME=passbolt
      - DATASOURCES_DEFAULT_PASSWORD=P4ssb0lt
      - DATASOURCES_DEFAULT_DATABASE=passbolt
      - EMAIL_TRANSPORT_DEFAULT_HOST=mail.yourdomain.com
      - EMAIL_TRANSPORT_DEFAULT_PORT=587
      - EMAIL_TRANSPORT_DEFAULT_USERNAME=no-reply@yourdomain.com
      - EMAIL_TRANSPORT_DEFAULT_PASSWORD=yourownpassword
      - EMAIL_TRANSPORT_DEFAULT_TLS=true
      - EMAIL_DEFAULT_FROM=no-reply@yourdomain.com
    volumes:
      - gpg_volume:/etc/passbolt/gpg
      - jwt_volume:/etc/passbolt/jwt
    command: ["/usr/bin/wait-for.sh", "-t", "0", "db:3306", "--", "/docker-entrypoint.sh"]
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.passbolt.entrypoints=http"
      - "traefik.http.routers.passbolt.rule=Host(`passbolt.yourdomain.com`)"
      - "traefik.http.middlewares.passbolt-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.passbolt.middlewares=passbolt-https-redirect"
      - "traefik.http.routers.passbolt-secure.entrypoints=https"
      - "traefik.http.routers.passbolt-secure.rule=Host(`passbolt.yourdomain.com`)"
      - "traefik.http.routers.passbolt-secure.tls=true"
      - "traefik.http.routers.passbolt-secure.service=passbolt"
      - "traefik.http.services.passbolt.loadbalancer.server.port=80"
      - "traefik.docker.network=proxy"
networks:
  proxy:
    external: true

volumes:
  database_volume:
  gpg_volume:
  jwt_volume:

Many thanks to everybody who want to resolve this problem with me and your community.
@garrett @clayton

2 Likes

Glad you did @ArchMatt , just fixing the load balancer port. Very nice. Best solution is “keep it simple”. Works always :rofl:.

I was referring to @jonathan1304 code, thinking was your setup (my bad).

Now I see there were two people asking for help in your topic (@ArchMatt and @jonathan1304 ).

@jonathan1304 is using a different docker-compose-file, full of variables, changes in database paths, and, apparently, doubling the routes to traefik. That is the opposit of keep it simple principle, and far away from your clean code.

Since you solve your problem and “closed” the topic, maybe @jonathan1304 should open his own demand. I have a feeling that his problem is far away from fixing a load balancer port. I am sure there are more people willing to help him.

Cheerz.