This module allows you to store your Omeka S files on one of the following external cloud platforms rather than the local server disk:
It uses a filesystem abstraction system called Flysystem. You can build your own adapters to use with the system if there is a cloud storage system you would like to use but is not currently available via this module.
It is recommended that once you pick an external storage service you continue using it as migrating to a different external file system is not currently supported.
modules
directory of your Omeka S instance.config/local.config.php
file (see server-side configuration)After that, when you upload media for an item, it will upload to your selected cloud service rather than to your server’s local storage.
It's possible to configure the module entirely by editing the
config/local.config.php
file.
First, you need to change the alias for Omeka\File\Store
to the adapter you
want to use, and then you have to configure the adapter itself inside the
file_store
section.
For instance, if you want to use Dropbox, config/local.config.php
should look like this:
<?php
return [
'service_manager' => [
'aliases' => [
'Omeka\File\Store' => 'AnyCloud\File\Store\Dropbox',
],
],
'file_store' => [
'dropbox' => [
'access_token' => 'YOUR_ACCESS_TOKEN',
],
],
];
Alias should be set to AnyCloud\File\Store\Aws
.
Available options:
'file_store' => [
'aws' => [
'key' => 'KEY',
'secret' => 'SECRET',
'region' => 'REGION',
'endpoint' => 'ENDPOINT',
'bucket' => 'BUCKET',
],
],
Alias should be set to AnyCloud\File\Store\Azure
.
Available options:
'file_store' => [
'azure' => [
'account_name' => 'ACCOUNT_NAME',
'account_key' => 'ACCOUNT_KEY',
'container_name' => 'CONTAINER_NAME',
],
],
Alias should be set to AnyCloud\File\Store\DigitalOcean
.
Available options:
'file_store' => [
'digital_ocean' => [
'key' => 'KEY',
'secret' => 'SECRET',
'region' => 'REGION',
'endpoint' => 'ENDPOINT',
'bucket' => 'BUCKET',
],
],
Alias should be set to AnyCloud\File\Store\Dropbox
.
Available options:
'file_store' => [
'dropbox' => [
'access_token' => 'ACCESS_TOKEN',
],
],
Alias should be set to AnyCloud\File\Store\Google
.
Available options:
'file_store' => [
'google' => [
'project_id' => 'PROJECT_ID',
'credentials_path' => '/path/to/credentials.json', // This path is relative to AnyCloud's module path
],
],
Alias should be set to AnyCloud\File\Store\Scaleway
.
Available options:
'file_store' => [
'scaleway' => [
'key' => 'KEY',
'secret' => 'SECRET',
'region' => 'REGION',
'endpoint' => 'ENDPOINT',
'bucket' => 'BUCKET',
],
],
Alias should be set to AnyCloud\File\Store\Wasabi
.
Available options:
'file_store' => [
'wasabi' => [
'key' => 'KEY',
'secret' => 'SECRET',
'region' => 'REGION',
'endpoint' => 'ENDPOINT',
'bucket' => 'BUCKET',
],
],
Use this module at your own risk.
It’s always recommended to backup your files and databases and to check your archives regularly so you can roll back if needed.
See online issues on the module issues page on GitHub.
config/local.config.php
(v0.2.0)