Decomposeds3 Storage Driver
Decomposeds3 is a storage driver for OpenCloud that uses MinIO — an S3-compatible object storage — to store files efficiently. This setup combines the scalability of S3 with seamless integration into OpenCloud.
This setup includes No Migration Path from existing storage solutions. If you are already using another storage backend, you will need to migrate your data manually.
Configure an S3 Bucket
- Access your S3 Service: Log in to your S3-compatible service (e.g., Hetzner S3, MinIO, AWS S3).
- Create a Bucket: Create a new bucket named
opencloud(or any name you prefer). - Set Permissions: Ensure the bucket has the necessary permissions for read and write operations
- Note the Endpoint and Credentials: Make a note of the endpoint URL, access key, and secret key for your S3 service.
- CORS Configuration: If your S3 service requires CORS configuration, ensure that it allows requests from your OpenCloud domain.
- Region: Note the region where your bucket is created, as it may be required for configuration.
Setup OpenCloud
Navigate to the folder containing the Docker Compose configuration:
cd opencloud-compose
Open the .env file and fill the required configuration variables:
nano .env
Now we need all the information about the S3 bucket we created earlier. Modify the following lines in your .env file:
# Configure the S3 storage endpoint. Defaults to "http://minio:9000" for testing purposes.
DECOMPOSEDS3_ENDPOINT=https//your-s3-endpoint.example.com
# S3 region. Defaults to "default".
DECOMPOSEDS3_REGION=eu-central-1
# S3 access key. Defaults to "opencloud"
DECOMPOSEDS3_ACCESS_KEY=<your-access-key>
# S3 secret. Defaults to "opencloud-secret-key"
DECOMPOSEDS3_SECRET_KEY=<your-secret-key>
# S3 bucket. Defaults to "opencloud"
DECOMPOSEDS3_BUCKET=opencloud
Add storage/decomposeds3.yml to the COMPOSE_FILE variable
or include it directly in the startup command:
docker compose -f docker-compose.yml -f storage/decomposeds3.yml up
Start all containers in the background:
docker compose up -d
Login
Open your browser and log in.
After logging in, you should see the OpenCloud interface:
Troubleshooting
If you run into any issues or errors, check the following resource: