Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] junkerderprovinz - OpenCloud

Featured Replies

OpenCloud

The official OpenCloud server, turned into a genuine one-click app — no console, no chown, no config editing.

OpenCloud

Install on Unraid   View on GitHub   Buy me a coffee

What is this?

OpenCloud is a modern, self-hosted file sync and share platform (the actively maintained fork of ownCloud Infinite Scale). The official image is great, but on Unraid it runs as a fixed non-root user with no PUID/PGID support and needs a manual one-time init step, so a fresh install normally fails with "permission denied". This is a thin wrapper image that fixes exactly that: it runs the first-boot init for you, heals the appdata permissions, and drops to your chosen PUID/PGID — so you just fill in the Unraid template and hit Apply. Nothing is forked or modified beyond that; the OpenCloud binary is the official upstream image.

Highlights

  • Genuinely one-click — auto-runs opencloud init on first boot, heals root-owned appdata to your PUID/PGID, then starts the server. No console, no chown, no editing opencloud.yaml

  • Serves HTTPS itself on port 9200 (self-signed by default) — works with no reverse proxy, or hands TLS to your proxy with one setting

  • No database — OpenCloud is not Nextcloud; there is no MySQL/Postgres to set up. State lives in a local metadata tree plus an embedded message bus

  • Optional S3 object storage — point it at any S3-compatible bucket (MinIO, AWS, Backblaze B2, Wasabi) to keep file blobs in object storage (the metadata stays local)

  • Two channels — a stable :production tag and a fast-moving :rolling tag, switchable from the template

  • PUID/PGID like every well-behaved Unraid container (default 99:100)

  • Multi-arch — amd64 + arm64

  • Images: junkerderprovinz/opencloud:production (Docker Hub) / ghcr.io/junkerderprovinz/opencloud:production

Requirements

  • Unraid 6.10+

  • Set an Admin Password in the template before the first start (it is applied during init; log in as user admin)

  • Use a fresh, empty Data folder. Do not point Data at an old OpenCloud/oCIS data directory — the on-disk layout and the storage backend (local vs S3) are not interchangeable, and there is no in-place migration

  • Behind a reverse proxy: set OpenCloud terminates TLS to false and point your proxy at the container over plain HTTP on port 9200, with the Public URL set to your external https URL

  • For S3: create the bucket beforehand (the container does not), and keep backing up the local Data volume — it holds the file-tree metadata even when blobs live in S3

Posting a bug report

Please post:

  • Unraid version (Settings → System Information)

  • Image tag (:production, :rolling, or a pinned version)

  • Output of docker logs --tail 200 OpenCloud

  • Whether you use S3 or local storage, and whether you run behind a reverse proxy

  • Whether you changed the Data/Config mounts, PUID/PGID, or the TLS settings

GitHub issues with the same info are also welcome: github.com/junkerderprovinz/opencloud/issues

Credits

All the real work is OpenCloud (Apache-2.0) by the OpenCloud team — this project only packages their official image for one-click Unraid use, with a static gosu for the privilege drop. If it saves you a console session, you can buy me a coffee.


Independent, community-maintained packaging — not affiliated with OpenCloud. The wrapper is MIT-licensed; you run it, you own your data and the responsibility.

Thank you for this, i will give it a try to replace nextcloud.

It seems that it is nessasary to give S3 storage driver: posix

Otherwise you have no file permissions.

Hello! Thanks for the UnRAID app template! I can't get it to work, and I'm getting this error: {"level":"error","service":"gateway","host.name":"c009ebc3b63d","protocol":"grpc","error":"unable to register services: rgrpc: grpc service gateway could not be started,: parse \"https://[IP]:[PORT:9200]/data\": invalid IP-literal","time":"2026-08-03T00:34:07Z","line":"github.com/opencloud-eu/reva/[email protected]/cmd/revad/runtime/drivenserver.go:91","message":"reva server error"}

Error: unable to register services: rgrpc: grpc service gateway could not be started,: parse "https://[IP]:[PORT:9200]/data": invalid IP-literal

I can't open a GitHub issue because they are restricted.

Got it working by putting in the actual address. The templatized version is only supported by UnRAID for the WebUI field.

STORAGE_USERS_DRIVER being set to local breaks even local storage. (Should be left blank so that the default of posix applies)

  • Author
On 8/1/2026 at 1:17 PM, stiernacken said:

Thank you for this, i will give it a try to replace nextcloud.

It seems that it is nessasary to give S3 storage driver: posix

Otherwise you have no file permissions.

@stiernacken

Thanks, you were right that the storage driver was the problem. The template shipped it blank, and OpenCloud reads a blank value as an explicit override that wipes its built-in "posix" default, so files ended up without proper permissions (visible but greyed out). The template now sets the driver to "posix" explicitly. If you are using S3, set it to "decomposeds3" instead: that keeps the file blobs in your bucket while the file-tree metadata stays on the local Data volume. Either way the local Data volume needs to sit on a filesystem with extended-attribute support (the Unraid array and cache/pool disks have it). Pull junkerderprovinz/opencloud:production and refresh the template to get the new defaults. Thanks again for flagging it.

  • Author
19 hours ago, effective-accumulation8557 said:

Got it working by putting in the actual address. The templatized version is only supported by UnRAID for the WebUI field.

STORAGE_USERS_DRIVER being set to local breaks even local storage. (Should be left blank so that the default of posix applies)

@effective-accumulation8557

Spot on, both of those were real template bugs and both are fixed now.

The "invalid IP-literal" crash was the Public URL. The template used Unraid's [IP] and [PORT] tokens, which Unraid only fills in for the WebUI field, not for environment variables, so OpenCloud received the literal text and the gateway crashed. The template now uses a real https://YOUR-SERVER-IP:9200 placeholder that you replace with your address, and the container also falls back to its own IP if it is left unset, so it boots instead of crash-looping.

On the storage driver: you are right that "local" breaks it. One small correction to the "leave it blank" part, because it is a subtle trap: a blank field is actually what caused the greyed-out files, since Unraid passes it as an empty value and OpenCloud treats that empty value as an explicit override that wipes its "posix" default. So the template now sets "posix" explicitly (or "decomposeds3" for S3), never blank and never "local".

Pull junkerderprovinz/opencloud:production and refresh the template for the new defaults.

On the GitHub issues being restricted: they are open on our side, there is no restriction from me. GitHub itself blocks brand-new accounts from opening issues on repositories they have no history with (an anti-spam measure on their side), which is most likely what you ran into. Commenting on an existing issue or just posting here works fine, and I will pick it up. Thanks for the detailed report, it made these easy to fix.

I would like to use the Smart Search Engine (Apacha Tika). But it seems to be disabled as default.

So i find that i have to edit the .env file and change, but how?

TIKA=:tika.yml #is commented out by default

TIKA_IMAGE=latest

  • Author

Hi @stiernacken

Good news: I just added a one-click toggle for exactly this in v1.2.0.

Quick clarification first: OpenCloud already has search, it matches file/folder names and metadata out of the box. Apache Tika isn't a second search engine, it's a text-extractor the search service uses to read the text inside documents, which turns "search by name" into "search inside PDFs/Office files" too. (That `TIKA=:tika.yml` bit is from OpenCloud's official docker-compose deployment and doesn't apply to this Unraid container.)

To enable it:
1) Install a Tika container from Community Applications (search "Tika"), image `apache/tika`, port `9998` (a `-full` tag also OCRs scanned images). Note its address, e.g. http://TIKA_IP:9998
2) Update the OpenCloud container to v1.2.0, then in its template set "Full-text search (Tika)" = true and "Tika server URL" = that address, and Apply.

That's it, the wrapper wires up the rest.
Heads-up: only files uploaded or changed after this get their contents indexed; existing files aren't re-indexed automatically, so re-upload or edit a file to test.

README: https://github.com/junkerderprovinz/opencloud#full-text-search-apache-tika-optional
Docs: https://docs.opencloud.eu/docs/dev/server/Services/search/Search-info/

For bug reports or feature requests, GitHub is the best spot, I see those fastest there: https://github.com/junkerderprovinz/opencloud/issues 🙂 And thanks again, your question is exactly what turned into the v1.2.0 toggle!
Shout if it doesn't come up, happy to help debug.

Edited by Junker der Provinz

@Junker der Provinz hello, when I install euro office I get the below error. I just supplied the JWT secret and I get this error.

image.png

Edited by HHUBS

  • Author

Hi @HHUBS , thanks for the report and the screenshot, that's genuinely useful.

This is a bug in the template, not something you did wrong: the "Database" field under Advanced View had a default path, and mounting a fresh empty folder there hides the database this image already ships built in, which then can't start. It's an unfixed upstream issue: euro-office/documentserver#299.

Fix for your existing container: open its Edit page, switch on Advanced View, clear the "Database" field completely, then Apply. It should come up clean within a minute using the bundled database.

I've just fixed the template so new installs leave that field blank by default, and corrected two other mount paths that were silently pointing nowhere useful while I was in there.

Edited by Junker der Provinz

14 hours ago, Junker der Provinz said:

Hi @HHUBS , thanks for the report and the screenshot, that's genuinely useful.

This is a bug in the template, not something you did wrong: the "Database" field under Advanced View had a default path, and mounting a fresh empty folder there hides the database this image already ships built in, which then can't start. It's an unfixed upstream issue: euro-office/documentserver#299.

Fix for your existing container: open its Edit page, switch on Advanced View, clear the "Database" field completely, then Apply. It should come up clean within a minute using the bundled database.

I've just fixed the template so new installs leave that field blank by default, and corrected two other mount paths that were silently pointing nowhere useful while I was in there.

Thanks. But when I tried the updated template and installing second instance of euro office to test, I got the below error. The nginx fail.

image.png

  • Author

Hey @HHUBS, thanks for testing, and sorry for the trouble! A second-instance failure like that is worth tracking properly rather than sorting out here in the thread.

Could you open an issue at https://github.com/junkerderprovinz/unraid-apps/issues with the log you posted above? That way it won't get lost and I can look into it properly.

3 hours ago, Junker der Provinz said:

Hey @HHUBS, thanks for testing, and sorry for the trouble! A second-instance failure like that is worth tracking properly rather than sorting out here in the thread.

Could you open an issue at https://github.com/junkerderprovinz/unraid-apps/issues with the log you posted above? That way it won't get lost and I can look into it properly.

Done. Please see https://github.com/junkerderprovinz/unraid-apps/issues/5 thanks.

  • 1 month later...

Hello,

It works perfectly fine for me!

But are there any options ti customize the landing page with my own logo, color, text etc.?

Thanks!

  • Author

Hey @dam_j


Glad it works! Yes, you can, but not from a settings page. OpenCloud reads a theme file from the Data folder:

  1. Open https://YOUR-SERVER-IP:9200/themes/opencloud/theme.json (or your own OpenCloud URL) and save it. That's the theme currently in use.

  2. Put it at /mnt/user/appdata/opencloud/data/web/assets/themes/opencloud/theme.json (create the folders) and your logo in an assets folder next to it.

  3. Edit it:

    • text: common.name and common.slogan

    • logo: common.logo and clients.web.defaults.logo, e.g. themes/opencloud/assets/mylogo.svg

    • colours: clients.web.themes[].designTokens.roles (primary is the main one)

  4. Hard-refresh the browser (Ctrl+F5).

The login page uses the logo from the same file. For a background image there, add the variable IDP_LOGIN_BACKGROUND_URL to the template with the URL of your image. The login page's own colours are built in and don't follow the theme.

  • Author

@dam_j Small update on this: v1.3.0 ships a Branding app in the web interface, so the logo and the text no longer need a hand-edited theme.json.

Set Branding admin app to true in the advanced view of the template and restart once. Admins then get a Branding entry in the app menu for the instance name and slogan, a logo for light and dark mode, the favicon, the login background, and whether the sign-in card is light, dark or follows the browser. The login page shows all of it as well, and saved changes apply without another restart.

Colours are not in the app. While it is on, it rewrites the theme list in themes/_branding/theme.json at every start, so custom colours in that file get replaced. If the palette matters more to you than the app, leave the toggle off and keep editing the file by hand.

It is off by default, so nothing changes if you do nothing.

Thats awesome, i just updated an hour ago.

But even under the advanced settings i cant find the "branding admin app".

  • Author
6 hours ago, dam_j said:

Thats awesome, i just updated an hour ago.

But even under the advanced settings i cant find the "branding admin app".

Branding is new in the template, and Unraid doesn't add new template fields to a container that's already installed, so your edit page doesn't show it yet. You can add it by hand:

1. On the Docker tab, click the OpenCloud icon and choose Edit.

2. At the bottom, click "Add another Path, Port, Variable, Label or Device".

3. Set Config Type to Variable, Name to Branding admin app, Key to BRANDING_APP and Value to true. Save, then Apply.

After the restart, sign in with an admin account and open the app menu next to your avatar. Branding shows up there; other accounts don't see it.

2026-09-21 17 28 11.png

Edited by Junker der Provinz

Even after todays next update i dont have that setting.

Is it a language thing?

I speak german but i have all standard english.

Screenshot 2026-09-22 at 8.45.56 AM.png

  • Author

Hi @dam_j, no, it's not the language. An update only pulls the new image. Unraid never adds new fields to the edit page of a container that's already installed, so "Branding admin app" won't show up on its own, however many updates you install. I've reported that to Unraid: https://github.com/unraid/webgui/issues/2765

You need to add the variable once by hand:

1. In the Unraid web interface, open the Docker tab.
2. Click the OpenCloud icon and choose Edit.
3. Scroll to the bottom and click "Add another Path, Port, Variable, Label or Device".
4. In the window that opens, set Config Type to Variable, Name to Branding admin app, Key to BRANDING_APP and Value to true, then click Save.
5. Click Apply at the bottom of the edit page. Unraid recreates the container with the new variable.

After that, sign in to OpenCloud with an admin account. Branding is in the app menu next to your avatar.

If it still isn't there, please open an issue on GitHub with the container log. I see those fastest there:

1. On the Docker tab, click the OpenCloud icon and choose Logs. A window with the log opens.
2. Click into that window, press Ctrl+A to select everything, then Ctrl+C to copy it.
3. Open https://github.com/junkerderprovinz/opencloud/issues and click "New issue".
4. Describe what you see, then paste the log between two lines that contain only three backticks (```) so it stays readable.

Thanks!

Edited by Junker der Provinz

No thank you!

I didn´t know that the containers don´t get updated with new variables itself. After i added the right one it all works perfectly fine.

Thats totally optional cause our customers wont see the iOS App but is there a branding possibility as well?

I can imagine the App doesn´t even load these ressources from my Unraid server...

Thanks again!

  • Author

Hey @dam_j, glad it's working now, and thanks for letting me know!

About the iOS app: your guess is right. The App Store version has its look built in and doesn't pull the branding from your server, so the Branding app only changes the web interface and the sign-in page.

To get your own logo and colours into the app, you'd have to build your own copy from OpenCloud's source code, which has a branding file for exactly that. That needs an Apple developer account and your own distribution through the App Store or TestFlight, so it's well outside what the container can do.

Nextcloud's apps do pick up the server colours, but OpenCloud's apps don't read any theming from the server at all.


For bug reports or feature requests, GitHub is the best spot, I see those fastest there: https://github.com/junkerderprovinz/opencloud/issues

Edited by Junker der Provinz

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.