Nextcloud with Hippius S3
Use Hippius S3 as the primary storage backend for Nextcloud.
Prerequisites
Create the bucket before starting Nextcloud:
aws s3 mb s3://nextcloud-data --endpoint-url https://s3.hippius.com
Docker Compose
services:
nextcloud:
image: nextcloud:latest
ports:
- "8080:80"
volumes:
- nextcloud_data:/var/www/html
environment:
- OBJECTSTORE_S3_BUCKET=nextcloud-data
- OBJECTSTORE_S3_KEY=YOUR_ACCESS_KEY
- OBJECTSTORE_S3_SECRET=YOUR_SECRET_KEY
- OBJECTSTORE_S3_HOST=s3.hippius.com
- OBJECTSTORE_S3_REGION=decentralized
- OBJECTSTORE_S3_PORT=443
- OBJECTSTORE_S3_SSL=true
- OBJECTSTORE_S3_USEPATH_STYLE=true
volumes:
nextcloud_data:
Start it up:
docker compose up -d
Then open http://localhost:8080, create an admin account, and select SQLite as the database. Nextcloud will automatically use Hippius S3 for all file storage.
Hippius S3 does not support virtual-hosted style addressing. OBJECTSTORE_S3_USEPATH_STYLE=true must be set or Nextcloud will fail to connect.
Verify
Upload a file through the Nextcloud UI, then confirm it landed in the bucket:
aws s3 ls s3://nextcloud-data/ --recursive --endpoint-url https://s3.hippius.com
Nextcloud stores objects with urn:oid: prefixes rather than original filenames — this is normal.
Other Self-Hosted Apps
The same pattern works with any self-hosted app that supports S3-compatible storage. Change the endpoint to s3.hippius.com, set path_style = true, and use your Hippius credentials.
Examples:
- Mastodon — media attachments via S3
- GitLab — LFS objects, artifacts, uploads
- Mattermost — file attachments