CellsSync doesn't work behind NPM

Hello all !

I want a home could solution hosted on my server, I tried NextCloud but it is too wobbly for me that is trying to find some kind of “install and forget” solution.
Pydio check all the boxes but I have on issue that’s preventing me from really using it.

Describe your issue in detail

I’ve spent around 15 hours trying to make Pydio work on all my devices but there is still an issue that I cannot solve : the CellsSync app on my Windows would never connect using the FQDN to reach my Pydio instance. But it can work using specific configuration and only when reaching locally (192.168.0.xxx).
The web interface and Android app are accessible from internal and external network without any issue.

I have a Proxmox server with some VMs and LXC (containers) on it.
On of these LXC is Docker.
On Docker I have Nginx Proxy Manager (=Nginx but with a GUI) which manage all my SSL certificates.
I try to deploy Pydio from here also, here’s my stack at the time : (which is not working well, the stuff I’m trying are essentially adding/modifying variables in the “environment” section of Cells)

version: '3.3'
    
services:

  cells:
    image: pydio/cells:latest
    restart: unless-stopped
    ports:
      - "8080:8080"
      - "33060:33060"
      - "36013:36013"
    volumes:
      - /home/docker/pydio/cellsdir:/var/cells
      - /home/docker/pydio/data:/var/cells/data
    environment:
      #- CELLS_BIND=0.0.0.0:8080
      #- CELLS_EXTERNAL=http://192.168.0.151:8080
      - CELLS_BIND_ADDRESS=0.0.0.0
      - CELLS_EXTERNAL=https://myaddress.com
      - CELLS_NO_TLS=1
    networks:
      - proxy
      - npm_net 
      
  mysql:
    image: mysql:8
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: P@ssw0rd
      MYSQL_DATABASE: cells
      MYSQL_USER: pydio
      MYSQL_PASSWORD: P@ssw0rd
    command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci]
    volumes:
      - /home/docker/pydio/mysqldir:/var/lib/mysql
    networks:
      - proxy

      
networks:
  proxy:
    driver: bridge
  npm_net:
    external: true
    name: nginx-proxy-manager_proxy

volumes:
    data: {}
    cellsdir: {}
    mysqldir: {}

With this config when trying to add a sync task in CellsSync I can have a various range of errors :

  • host computer refused the connection
  • impossible to connect to https:// something:https:// something
  • socket cannot be opened

    (I give this error messages from memory, and since my app is in french the translation is approximative)

In NPM I have of course enabled all options, including : websockets support, force SSL, HTTP/2 support, …

What version of Cells are you using?

Pydio Cells Home Edition 4.4.15

What is the server OS? Database name/version? Browser name or mobile device description (if issue appears client-side)?

Docker image : image: pydio/cells:latest
DB : MySQL 8 : image : mysql:8
CellsSync 0.9.4 for Windows 11

What steps have you taken to resolve this issue already?

I tried so many things it’s impossible to list exactly all of them, but globally I :

  • used Custom Locations in NPM to add /grpc redirections
  • used Advanced tab in NPM, to also try adding some customs rules for grpc flows
  • created a dedicated nginx instance in my Pydio stack

None of that worked

I searched a lot on the Internet and others have the same issue as me with NPM and their thread never ended with an answer.
I tried ChatGPT which gave some good indications but never a definitive answer.

The question

Does someone know how to parameters Nginx Proxy Manager so that the CellsSync app can connect to Pydio ?
Could this explanation become a part of the documentation like this ? Running Cells behind a Nginx reverse proxy - Pydio Documentation