Using Google Cloud Storage for the content folder

Hello!

We’d like to host Kirby on Google AppEngine. As there can be multiple instances (if allowed via config) but also restarts to an instance, the complete content folder needs to live in a place that isn’t affected from a restart / respawn.

Google suggests Google Cloud Storage for that. It isn’t possible to use standard file commands as Kirby uses. They require to use a Google tool to access the files. More information on how to use here: https://cloud.google.com/appengine/docs/standard/php7/using-cloud-storage

What would be the best approach for this problem? Build a plugin that handles the access?

Regards,
Robert.

as far as i know:

simply moving the content to a cloud storage is not possible in kirby. kirby 3 does not have abstraction layer like the phpleague flysystem.
to support it easily this would require big changes to kirbys core.

also the content folder itself is not enough, public media folder for thumbs, cache and site folder (license) should be considered as well.

but you can create a page model and use virtual pages to read and write to any storage you like but you also need to provide implementations for the children() method. pretty much like the virtual pages from database cookbook.

Thanks for the feedback! Okay, I suppose it’s easier to just use a database then. Didn’t think about the thumbs and cache folders yet, good point!

I’ll think a bit more about this. Kirby is so nice but the company I work at uses GCloud a lot. I hope they can both somehow fit together. :slight_smile:

I think it should be possible to mount a Google Cloud Storage Bucket into the file system so it behaves just like a normal folder to Kirby via Cloud Storage FUSE: https://cloud.google.com/storage/docs/gcs-fuse