Pydio Cells Storage on another Server

Hi Dean,
this is currently a limitation of Cells - We are starting a minio server to serve the file using http protocol, and minio is limiting this on mounted folders. We are working on that for direct smb/cifs mount. Or you can try using a docker volume with tool : http://netshare.containx.io/ and mount your smb share directly inside docker. I tested that recently and it was working (minio sees it as an standard folder inside the docker).
Charles

Are minio datasources yet working with cells? I have an external-to-cells minio server but cannot seem to figure out the correct parameters to input for S3 in the “Datasource” screen. In reading the official documentation I also cannot figure it out. When I input what I think should be the correct parameters for my minio server, the result is: “Objects service down”. However, when I go to Settings->Services, I only see green lights for both objects and for the minio Storage I created.

1 Like

hi @v60fan
Could you maybe post the config you use for this datasource? Switching to S3 datasource type with the correct endpoint url and api key/secret should work with an external minio server, indeed.
Charles

Sure. Is this what you mean?

DataSource identifier: minio (I think this is just a label, so doesn’t matter too much)
Enabled: switched to on
Internal Port: 9001 (left as default)

Storage Type: Remote Object Storage (S3)
Bucket Name: cells (I created this bucket in the top level of my minio server)
S3 Api Key: [the same one I use in my config.json for minio] (I’m certain this is correct)
S3 Api Secret Key: [the same one I use in my config.json for minio] (I’m certain this is correct)
Internal path: [left blank] (I’m not sure if I’m supposed to fill anything here or not)
Custom endpoint: https://s3.mydomain.com (set to a real URL, and it’s the base URL for the minio service)

1 Like

Humm, params seem ok.
Can you have a close look at the log when you start cells ? Do you see errors regarding this datasource ?
Charles

Hi @charles so that I could follow the log, I have restarted the cells container (I’m running in docker and I’m also using a traefik reverse proxy for SSL termination).

I do see a couple types of error:

First is:
level=fatal msg="Unable to initialize gateway layer" cause="Unable to initialize event notification. Get https://s3.mydomain.com/: x509: failed to load system roots and no roots provided" source="[gateway-main.go:357:github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd.gatewayMain()]"

And then I also see:
ERROR pydio.grpc.data.sync.(.+) Could not run {"error": "objects not reachable"}

1 Like

is the external minio served on self-signed ?

No, it’s valid LetsEncrypt SSL

@charles are there any news on this limitation?
Without the possibility to add nfs/smb remote storage pydio is pretty much useless to me.

Until it is possible, could you please mention this in the documentation?

1 Like

@v60fan at the end of the day, did you get it?

I was trying to configure Minio with Pydio

But what I get is objects down

No, I wasn’t able to overcome the issue I had above. I ended up giving up.

I have a similar issue of the “cross-devices mount” detailed here: Error while listing on creation or resync of a DataSource

I succeed to get past it but was block on the next step, that is building the index (the storage exist, the workspace as well, but I cannot list anything inside for some obscure reason.)
I’m waiting for support as well, it seems pretty basic use case so I hope we’ll find a solution (it was working as is in pydio server from version 5 to 8).

wait&see

Hi,

here’s my minio configuration if it can help(my minio is running on another server with the 109 ip)
usually you should atleast check that you can access it through URI,

edit: could you tell me what cells version are you on right now and also are you reverse proxying?

This are my settings:

40 08

Minio version:

➜  cells git:(stable) ✗ minio version
Version: 2018-11-17T01:23:48Z
Release-Tag: RELEASE.2018-11-17T01-23-48Z
Commit-ID: 7b579caf686110d96349ec4e90beacf7eed5af89

Cells version:

github cells with stable branch

And I’m not using reverse proxying

Hello,

I’ve been setting a minio server alongside pydio, the former is working great but when I try configuring pydio with my minio (I’ve double checked the conf to have something similar to what @zayn posted) I got the following error:

Ts : 1542738998
Level : error
Logger : pydio.grpc.data.sync.(.+)
Msg : Could not run - objects not reachable
SpanUuid : span-8

and basically, I have the same issue than when I try using local mount drive.

after fiddling a bit with minio, I found that minio can be launch with server command but also as gateway nas, maybe it can be a better way to launch the internal minio instance? Namely I found locally that I have less issue concerning cross device mount that I had previously (see there for reference: Error while listing on creation or resync of a DataSource)

my 2 cents

PS: I’m starting to wonder if I’m not going to simply use plain minio instead of cells (especially now that they have multi users support).

1 Like

Hi @TmCTux, I was rechecking your both threads
I guess we have other stuff involved here, the various patterns you are describing (/mnt/home/something & minio storage backend) should indeed be supported without issues. But one port is wrong and everything is messed up… If you are still willing to try, maybe if you are working on a staging environment you could PM a temp access to the machine so that we check what is going wrong?
Regarding using plain minio, probably if you plan is only to expose your files as S3 and a basic browser, it can be a way to go :slight_smile:. Cells would add an additional layer of features that you don’t necessarily need (?).
Anyway, ping if we can help further
Charles

Hi there, I’m curious if minio will work if we have an nfs mount? Or would the same thing happen as with the SMB mount?

Hello @ryryITguy we’ve been retesting the usecase since then, it does work with minio.
The only constraint is to have point to a folder whose parent is writeable by Cells, so if you mount your remote storage on /mnt/data for example, make sure to create a datasource on /mnt/data/foldername (where foldername is lowercase and contains only ascii chars and no space, as it is used as an s3 bucket name).
Charles

I will test, thank you sir.