Cells Installation Fails on Ubuntu 22.04 Server

Describe your issue in detail

I followed the instructions at Pydio | Install Cells on Debian/Ubuntu to the letter, and while everything appeared to go smoothly, actually visiting the site after installation yields a page telling me that Pydio is starting, with the following error message in the terminal on page request:

Returning server is starting because grpc.oauth monitor is not Up

What version of Cells are you using?

Pydio Cells Home Edition Version: 4.4.2 Built: 04 Jun 24 11:49 +0000 Git commit: 370fe5acdad840eaad6f327d2fde210525c14735 OS/Arch: linux/amd64 Go version: go1.21.10

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

Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-112-generic x86_64)
mariadb Ver 15.1 Distrib 10.6.16-MariaDB

What steps have you taken to resolve this issue already?

Unfortunately, this kind of question seems to get asked a lot but never answered. Hopefully, I have provided enough details to get a suggestion.

Thank you in advance for your time and attention.

You should find some clues about the problem in the starting log, can you post it so we can have a look at it?

We test the server on Ubuntu quite regularly and it works!

Hello, and thank you kindly for your reply.

https://paste.debian.net/1319779/

If this is not what you asked for, could you please give me specific instructions on how to give you exactly what you need?

After quick review, the root error seems to be this one:

024-06-10T07:33:36.394Z    e[31mERRORe[0m    e[35mpydio.grpc.oauthe[0m    Cannot init registryFromDSN    {"error": "the URL 'mysql://pydio:xx-redacted-xxtcp%28localhost%3A3306%29%2Fcells%3FparseTime=true&multiStatements=true&parseTime=true' is not supported by MySQL driver: invalid DSN: missing the slash separating the database name", "errorVerbose": "the URL 'mysql://pydio:p?d%210%40tcp%28localhost%3A3306%29%2Fcells%3FparseTime=true&multiStatements=true&parseTime=true' is not supported by MySQL driver: invalid DSN: missing the slash separating the database name\ngithub.com/ory/x/errorsx.WithStack\n\tgithub.com/ory/x@v0.0.613/errorsx/errors.go:38\ngithub.com/ory/hydra/driver.(*RegistrySQL).Init\n\tgithub.com/ory/hydra@v1.11.10/driver/registry_sql.go:91\ngithub.com/ory/hydra/driver.NewRegistryFromDSN\n\tgithub.com/ory/hydra@v1.11.10/driver/registry.go:75\ngithub.com/pydio/cells/v4/common/auth.createSqlRegistryForConf\n\tgithub.com/pydio/cells/v4/common/auth/registry.go:332\ngithub.com/pydio/cells/v4/common/auth.InitRegistry.func1\n\tgithub.com/pydio/cells/v4/common/auth/registry.go:120\nsync.(*Once).doSlow\n\tsync/once.go:74\nsync.(*Once).Do\n\tsync/once.go:65\ngithub.com/pydio/cells/v4/common/auth.InitRegistry\n\tgithub.com/pydio/cells/v4/common/auth/registry.go:118\ngithub.com/pydio/cells/v4/idm/oauth/grpc.init.0.func1.1\n\tgithub.com/pydio/cells/v4/idm/oauth/grpc/plugins.go:95\ngithub.com/pydio/cells/v4/idm/oauth/grpc.init.0.func1.WithGRPC.func9.1\n\tgithub.com/pydio/cells/v4/common/service/grpc.go:42\ngithub.com/pydio/cells/v4/common/service.(*service).Start\n\tgithub.com/

This seems to be uncorrect.
How did you configure your server ?
Does your MySQL DB user password contain some very exotic characters ? (we normally handle these, but we might have missed something)
Did you manually edit the pydio.json main config file ?

How did you configure your server ?

I’m sorry, but I’m not sure how to answer this.

Does your MySQL DB user password contain some very exotic characters ?

Nothing outside of ASCII.

Did you manually edit the pydio.json main config file ?

Definitely not.

I tried changing the password for the pydio user thusly:

ALTER USER 'pydio'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Then rerunning cells configure, but now, while it still says installation was successful, the page fails to load and returns

WARN pydio.grpc.policy [SQL] Server does not answer yet, will retry in 10 seconds... {"error": "Error 1045 (28000): Access denied for user 'pydio'@'localhost' (using password: YES)"}

Okay, I flushed the /var/cells directory, dropped the cells database, and redid the setup with my pydio db user’s password set to password, and it appears like things are working as intended. Perhaps the error really was in the contents of my db user’s password (aside from ASCII letters, it contained the ! and ? characters).

Thanks for the info.

I would like to investigate a little bit further to ensure you didn’t find a real issue:
Normally, ‘?’ and ‘!’ should be supported in the DB user password, but I will double check.

Did you do the setup via the browser or the command line?
If it was with the browser, what browser and version is it?

I set it up the first time with Firefox 126.0.1, but later used the CLI, though in both cases the results were identical. In the latest case, I used the CLI.

I am willing to wipe everything again and try from the start with my previous password to see if it fails again. I have been trying and failing to get cells to work on a subdomain to no avail for the past hour and it makes me feel like nuking something.

Any guidance for putting cells on a subdomain in apache? I thought I could just redirect the subdomain to the cells port (8080) in a vhosts file like I do with my rack projects, but it doesn’t seem to work.

Indeed, the pydio DB user’s password seems to have been the original problem. I reset everything and retried with the original password, and got the same error you originally pointed out, then flushed everything and set it up again with password password and it worked again.

And now, after all this, it looks like branding is exclusive to the enterprise distribution? Oh well, back to Nextcloud it is, I guess. I want to use this, but I think it’s not for me, after all.

By the way, https://pydio.com/en/pricing/contact gives me a 404.

The pricing page is here: Pydio | Pricing

where did you find the other link if I may ask ?

Indeed, the pydio DB user’s password seems to have been the original problem. I reset everything and retried with the original password, and got the same error you originally pointed out, then flushed everything and set it up again with password password and it worked again.

We will check this.

Anyway, thanks for the feedback!

That link was found at the bottom of Pydio | Pydio Cells Overview

Above the footer: * Some features are only available in Pydio Cells Enterprise Distribution, [please contact us for more information](https://pydio.com/en/pricing/contact)

1 Like

Yep, nailed it. There is indeed an issue with question mark in db password. We’ll fix it. Thanks for the feedback, it really helps.

:cry: sad to hear it.
I know this Enterprise Distribution Limitation gets sometimes frustrating, but we somehow have to eat…

Indeed. But it is now fixed. Very kind of you to notice and notify us.

That said, with us or others, happy file sharing :slightly_smiling_face: !

Yes, of course you should eat. Thanks for giving away what you did.

It’s too bad I can’t afford the pricing for my own use case, but it would have been nice to at least be able to change the icon/favicon.

By the way, where does translation take place for this?

We use an online service called Crowdin.
It is really easy to participate: just navigate to Pydio Cells translations in Crowdin , create an account and get started.

Did you spot a typo :thinking: ??

Did you spot a typo :thinking: ??

Yes, there are a number of places I spotted typos and awkward phrasing in English, though I don’t see anywhere to edit the English lines on that site. According to that site, English is the source language, but I got the impression that English was the second language of whoever wrote/localized it.

Verflixt! You got us. Yep, we are mainly French and try to speak decent English. We might yet miss some things (but we have a sweet accent :wink: )…

Yep. The full code base is in English and we provide the default messages in English directly in the code.
It’s one of the problem we face on a day to day basis: changing the English version of the messages is a bit painful as we have to push them directly in the main repo, then synchronize with crowdin and “re-map” all languages translations for the messages that have changed.

If you have seen typos / mis-phrasing that are really annoying, you still could sign our CLA and open a pull request with your modifications directly on Github (for en-US english only and only fixing i18n messages).

Thanks for the helping hand.

I don’t mind signing a CLA, but am I right in seeing that modifying the en-us translation would entail going through every source file and updating the embedded strings? I.E. There is no centralized place in the source code where interface strings are stored?

Unfortunately, yes.

The i18n messages are split and stored in the various modules they belong to.
I usually use the search function of the IDE to find a given message that I want to modify.

Another way to go could be that you provide the few messages that really make your eyes bleed with a suggested better formulation and I can put them in the code.

If that’s the case, why not mark the internal strings as “undefined”/“default”/something and place an en-us “translation” on Crowdin? Or else create a single file/folder in the source code to host all of your internal strings for everything else to pull from?