OpenCloud false junkerderprovinz/opencloud:production https://hub.docker.com/r/junkerderprovinz/opencloud bridge sh false https://github.com/junkerderprovinz/opencloud/blob/main/README.md https://forums.unraid.net/topic/200022-support-junkerderprovinz-opencloud/ https://opencloud.eu OpenCloud - a modern, self-hosted file sync and share platform (a lightweight OpenCloud/ownCloud-family server) - packaged as a genuine one-click Unraid app. The official OpenCloud image has no PUID/PGID support and needs a manual init step, so a fresh install normally fails with "permission denied". This wrapper fixes that: it runs the one-time init for you, heals the appdata permissions and runs as your chosen PUID/PGID (99/100 = nobody/users by default). What's pre-configured: • One-click: auto-runs 'opencloud init' on first boot, then the server - nothing to do on the console. • Permission heal: root-created appdata folders are handed to your PUID/PGID automatically. • Serves HTTPS itself on port 9200 (self-signed by default) - no reverse proxy required. • Two channels via the Repository tag: :production (default, stable) and :rolling (newest features). Getting started: • Set an Admin Password below - it is applied on the first start. Log in as user "admin". • FIRST START takes a moment: the container generates its config and a self-signed certificate. Wait for the "OPENCLOUD IS READY" banner in the container log, then open the WebUI. • Open the WebUI at https://[IP]:9200 and accept the self-signed certificate once. Notes: • Use a FRESH, empty Data folder. Do NOT point Data at an old OpenCloud/oCIS data directory: the on-disk layout differs between versions and the storage backends (local vs S3) are not interchangeable, so the server crash-loops (symptom in the log: search 'cannot open index, metadata missing'). There is no in-place migration between storage backends - to keep old files, start fresh and re-upload them. • Rolling channel: change the Repository tag from ':production' to ':rolling' to track the newest OpenCloud builds. Keep your appdata backed up before switching. • Reverse proxy: if you terminate TLS in front of OpenCloud, set "OpenCloud terminates TLS" to 'false' (advanced) and set the Public URL to your external https URL (e.g. https://cloud.example.com). Then "Allow self-signed TLS" can be 'false'. Your proxy must connect to the container over plain HTTP on port 9200 (not HTTPS) once "OpenCloud terminates TLS" is 'false'. • PUID/PGID default to 99/100 (nobody/users on Unraid). S3 object storage (optional, advanced): • OpenCloud can store file BLOBS in any S3-compatible bucket (MinIO, AWS, Backblaze B2, Wasabi). Set "S3 storage driver" to 'decomposeds3' and fill the S3 endpoint / region / access key / secret key / bucket fields. Leave the driver blank for normal local storage. • IMPORTANT: only the file blobs go to S3. The file-tree METADATA always stays on the local Data volume - so that volume is required even with S3 and MUST be backed up. Losing it orphans your S3 objects (they are opaque IDs with no folder structure). • OpenCloud does NOT use a database (no MySQL/Postgres) - do not look for one. State lives in the local metadata tree plus an embedded message bus. How to get the S3 bucket + keys: • Bucket (MinIO): in the MinIO console click "Create Bucket" (top left), name it e.g. 'opencloud' - that is your bucket name. It must exist BEFORE first start; the container does not create it. • Keys (MinIO): the current MinIO Community Edition console has NO "Access Keys" page - only the object browser. Two ways to get an access/secret key: (a) EASIEST - just use your MinIO ROOT credentials directly: access key = MINIO_ROOT_USER, secret key = MINIO_ROOT_PASSWORD (the values you set on your MinIO container; check its Docker template). (b) CLEANER - create a dedicated, revocable service account with the mc CLI: run 'mc alias set my http://MINIO-IP:9000 ROOT-USER ROOT-PASS' then 'mc admin user svcacct add my ROOT-USER' - it prints a fresh Access Key + Secret Key. • Endpoint (MinIO): use the S3 API URL http://MINIO-IP:9000 (port 9000 - the API, not the 9001 web console) and region 'default'. • AWS S3 / Backblaze B2 / Wasabi: create a bucket in the provider console, then create an access key (AWS: IAM access key; B2/Wasabi: an application/API key). Use the provider's https endpoint and the bucket's region. • If uploads fail with a checksum error on a non-AWS endpoint, add STORAGE_USERS_DECOMPOSEDS3_PUT_OBJECT_DISABLE_CONTENT_SHA256=true as an extra variable. Source on GitHub: https://github.com/junkerderprovinz/opencloud This is an independent, community-maintained packaging of OpenCloud and is not affiliated with OpenCloud GmbH. Cloud: Network:FileSharing: https://[IP]:[PORT:9200]/ https://raw.githubusercontent.com/junkerderprovinz/unraid-apps/main/opencloud/opencloud.xml https://raw.githubusercontent.com/junkerderprovinz/unraid-apps/main/opencloud/icon.png?v=1 --restart=unless-stopped 9200 /mnt/user/appdata/opencloud/config /mnt/user/appdata/opencloud/data https://[IP]:[PORT:9200] true info false true 99 100 default