oCIS data accessible from filesystem?

I just started running oCIS to share files. I noticed in OwnCloud there is an option to disable on-disk encruption which - as I am presuming - would make the files accessible directly on server’s filesystem without using OwnCloud. That is achieved with:

occ encryption:decrypt-all

However, I have not found that option with oCIS. Is this possible?

When you look into OC10 /var/www/data/ and you cannot find any readable files, then it is probably due to encryption. Right.

oCIS does things differently. It uses the storage filesystem for something we call decomposedfs. When you look into /var/lib/ocis/storage/ then all you see is a database like structure with many subdirectory levels containing blobs and nodes, etc…

The official answer to your question is probably: No, only oCIS can parse its decomposedfs.

But you may try your luck with some bash script
here QA/tools/hetzner-deploy/bin/dump_decomposed.sh at master · owncloud/QA · GitHub
or some python script there GitHub - esgarov/ocis-storage-dumper

2 Likes

Another option would be to connect via webdav. Cyberduck / Mountainduck do support webdav with oidc.

2 Likes

As does rclone! Might be one of the best options to get an open source browsing view to the FS at this time.

2 Likes

@lockheed oCIS does not support encryption at res natively. If you need that I recommend something like cryptfs.

Currently, oCIS decomposes parts of a filesystem to support non native features like file individual revisions and recursive change time on top of a posix filesystem.

If you look at the storage directory you will not find the files as you see them in the web UI, but an on disk layout with node metadata and blobs.

It would be possible to implement a fuse filesystem that can mount a decomposefs space to allow posix like access, but that is currently not in our focus. Ping me if you are interested in this.

We are actually working an a native POSIX storage driver that allows syncing files as they are laid out in an existing filesystem: [Draft] Decomposed based posix filesystem driver by aduffeck · Pull Request #4562 · cs3org/reva · GitHub

The work is in draft status, but we are adding CI and plan to make it part of the product.

There are a lot of tradeoffs:

  • no file individual revisions. We could maintain revisions when files are written through oCIS, but how do we keep track of old revisions when a unix tool directly accesses the file. A fuse filesystem could help.
  • no trash. We could implement the freedesktop.org spec
  • file metadata needs to be heuristically reattached to files that are ‘atomically’ changed by moving a temporary file over an existing file.
  • integrating with the nartive users and groups to write files on behalf of the user requires granting the ocis process more privileges. A security tradeoff that requires a lot of explanation.

Nevertheless, we are pretty excited to integrate with the native filesystem and os to share a space with another application like photoprism, jellyfin or whatever application you want to collaborate on.

I am personally looking into a picture management for my family and simple static website generation with Hugo.

2 Likes

@butonic sounds promising. Will this be part of version 6.0? If not, can you estimate which version it will be part of?