diff --git a/cubicweb_rodolf/__pkginfo__.py b/cubicweb_rodolf/__pkginfo__.py
index b893a44aee69c7254ae0b9f067cf2322a932ea16_Y3ViaWN3ZWJfcm9kb2xmL19fcGtnaW5mb19fLnB5..e249808dc6cc77a8c8d795cd57dd9169eb3bcd74_Y3ViaWN3ZWJfcm9kb2xmL19fcGtnaW5mb19fLnB5 100644
--- a/cubicweb_rodolf/__pkginfo__.py
+++ b/cubicweb_rodolf/__pkginfo__.py
@@ -17,6 +17,7 @@
     "cubicweb-api": ">= 0.14.0,< 0.15.0",
     "cubicweb-file": ">= 4.1.0, < 5.0.0",
     "cubicweb-rq": None,
+    "cubicweb-s3storage": None,
     "requests": None,
     "pyshacl": None,
     "Jinja2": None,
diff --git a/cubicweb_rodolf/hooks.py b/cubicweb_rodolf/hooks.py
index b893a44aee69c7254ae0b9f067cf2322a932ea16_Y3ViaWN3ZWJfcm9kb2xmL2hvb2tzLnB5..e249808dc6cc77a8c8d795cd57dd9169eb3bcd74_Y3ViaWN3ZWJfcm9kb2xmL2hvb2tzLnB5 100644
--- a/cubicweb_rodolf/hooks.py
+++ b/cubicweb_rodolf/hooks.py
@@ -16,3 +16,15 @@
 # along with this program. If not, see <https://www.gnu.org/licenses/>.
 
 """cubicweb-rodolf specific hooks and operations"""
+
+from cubicweb.server.hook import Hook
+from cubicweb_s3storage.storages import S3Storage
+
+
+class S3StorageStartupHook(Hook):
+    __regid__ = "rodolf.server-startup-hook"
+    events = ("server_startup", "server_maintenance")
+
+    def __call__(self):
+        storage = S3Storage("rodolf")
+        self.repo.system_source.set_storage("File", "data", storage)