Sign inSign up

junkerderprovinz/opencloud

By junkerderprovinz

•Updated 1 day ago

One-click OpenCloud for Unraid: auto-init, permission heal, PUID/PGID, production and rolling tags.

Image
0

10K+

junkerderprovinz/opencloud repository overview

OpenCloud

Build  Lint  Docker Pulls  Image Size  Arch  OpenCloud  Unraid  License: AGPL-3.0


A plug-and-play Docker image that turns the official OpenCloud server into a genuine one-click Unraid app: it runs the required first-boot init for you, heals the appdata permissions and honours Unraid's PUID/PGID. No console, no chown, no config-file editing required.

Install from Unraid's Community Applications   Install from the MOS Hub   Install from the ZimaOS and CasaOS store   Download the docker-compose file

Download the source archive


A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.

If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.

Buy me a coffee   PayPal   Donate with crypto


⁠⚠️ Before you start

Important

**Keep every OpenCloud folder off `/mnt/user`.** OpenCloud has no database and writes its metadata and message bus as files all the time. Through Unraid's share layer a large sync can hang that layer, and with it every container on `/mnt/user`, until you reboot. Give Config and Data the SSD pool itself and Files a single array disk.

Where Config, Data and Files go →⁠


⁠Table of Contents

  1. What it looks like⁠
  2. What it does⁠
  3. Getting started⁠
  4. How AI is used here⁠
  5. Support this project⁠

⁠1. What it looks like

The files and documents in these pictures are made up.

The OpenCloud web interface in dark mode, showing five folders and a file in the personal space
Your personal space in OpenCloud, in any browser on your network

A Word document open in Euro Office inside the OpenCloud web interface
Office files open in Euro Office, right inside OpenCloud


⁠2. What it does

OpenCloud⁠ is a self-hosted file sync and share platform from the ownCloud Infinite Scale family. The official opencloudeu/opencloud⁠ image runs as a fixed user without PUID/PGID, so on Unraid's root-owned folders the first start fails with "permission denied", and it needs opencloud init run by hand. This image is the unmodified upstream one with a small entrypoint in front:

  • Starts on the first try. It runs opencloud init once, hands the config and data folders to PUID:PGID (Unraid's nobody:users by default) and drops to that user.
  • Two channels. :rolling, the template default, follows OpenCloud's newest releases, and :latest its production line. Both are rebuilt every week, for amd64 and arm64.
  • Web office in three fields. Pick Euro Office⁠, Collabora or OnlyOffice, and the container wires up OpenCloud's collaboration service, the proxy routes and the Content-Security-Policy. Euro Office runs under OpenCloud's own address, so it needs no certificate of its own.
  • Files apart from Data. An optional Files path keeps your files on an array disk while the message bus, search index and accounts stay on a fast pool. The log warns at startup when either path goes through Unraid's share layer.
  • A search index that cannot stop the server. An index OpenCloud could not open is moved aside before the start and rebuilt in the background.
  • Branding, if you want it. An optional app lets admins set the name, slogan, logos, favicon and login background from the web interface.

⁠3. Getting started

  1. Install OpenCloud from Community Applications⁠.
  2. Set Admin Password, and set Public URL to the address clients use, for example https://192.168.1.10:9200. It has to be https, and Unraid does not fill it in.
  3. Set Config, Data and, if you need it, Files before the first start, as described in Where Config, Data and Files go⁠.
  4. Click Apply and wait for OPENCLOUD IS READY in the log. Then open the Public URL, accept the self-signed certificate once and sign in as admin.

Without Unraid:

docker run -d --name opencloud \
  -p 9200:9200 \
  -e IDM_ADMIN_PASSWORD='change-me-please' \
  -e OC_URL='https://192.168.1.10:9200' \
  -e OC_INSECURE=true \
  -v /path/to/config:/etc/opencloud \
  -v /path/to/data:/var/lib/opencloud \
  --restart unless-stopped \
  junkerderprovinz/opencloud:rolling

Editing documents. Install Euro Office⁠ and set its JWT secret. Here, set Web office suite to euro-office, Office document server URL to the address its WebUI button opens, such as http://192.168.1.10:9900, and Office WOPI secret to the same text as that JWT secret. Collabora and OnlyOffice load the editor straight from their own server, so for them the URL has to be https.

Behind a reverse proxy that terminates TLS, set PROXY_TLS=false, OC_URL to the external address and OC_INSECURE=false, and point the proxy at port 9200.

Configuration, Files and S3, the web office, the reverse proxy, updating and troubleshooting are explained step by step in the guide⁠.

⁠Other Docker hosts

compose.yaml⁠ runs OpenCloud on any Linux server with Docker. Put it in a folder of its own, fill in every value marked required and start it with docker compose up -d. The folders are created next to the file.

  • Synology: in Container Manager, create a project from the file (DSM 7.2 or newer).
  • Proxmox: run it in a VM or an LXC container that has Docker.
  • MOS: install OpenCloud from the MOS Hub⁠.
  • ZimaOS and CasaOS: add the community store⁠ and install OpenCloud from it.

⁠4. How AI is used here

One knight builds this, and AI is one of the tools I work with, the same way I work with an editor or a compiler. It helps me write code and documentation and it checks my work, and that saves me a good many evenings. It does not make the decisions, though. I read and understand everything before it ships, and if something here breaks, that is on me and not on the tool.

You do not have to take my word for it. The code is open and every release note is written by hand. The issue tracker shows how problems actually get handled, including the ones I got wrong the first time. If you find something that is not right, open an issue and I will look at it.


⁠5. Support this project

Questions? Check the support thread⁠. Bugs, ideas or feature requests? Please open a GitHub issue⁠.

A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.

If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.

Buy me a coffee   PayPal   Donate with crypto


The AGPL-3.0 covers this wrapper only. OpenCloud and the bundled gosu are Apache-2.0, see NOTICE⁠. The OpenCloud logo and wordmark belong to OpenCloud GmbH and are used unmodified to name the upstream project. This packaging is not affiliated with or endorsed by OpenCloud GmbH.

Tag summary

Content type

Image

Digest

sha256:cba42ca5e…

Size

73.2 MB

Last updated

1 day ago

docker pull junkerderprovinz/opencloud