Skip to content

Storage integration

Nextcloud AIO and existing installs Beta

Running occ on an existing, snap or docker Nextcloud, and what Nextcloud All-in-One overwrites when you connect it to an O3O server.

This page describes a beta feature: it works but may still change.

On this page

The Nextcloud page uses the Nextcloud bundled with the DEV Docker setup. This page covers two other cases: an existing Nextcloud running elsewhere, and Nextcloud All-in-One (AIO). The mechanism is the same; what differs is where you run occ and what overwrites your settings automatically.

Existing Nextcloud#

You fully control config.php and occ; nothing overwrites them. Follow the Nextcloud page, only change how you call occ and use real addresses:

  • -w: address Nextcloud uses to reach the O3O server, for example https://office.example.com.
  • -c: address the O3O server uses to call Nextcloud back. Always pass -c, even when the address users browse is also reachable from the O3O server (then pass that same address): running activate-config without -c makes richdocuments reset wopi_callback_url to empty.
  • O3O side: O3O_ONLINE_ALIASGROUP2 contains the origin given to -c; then restart o3o-online.
BashRunning occ for each install type
# Installed directly on the host (package, tarball)
sudo -u www-data php /var/www/nextcloud/occ app:install richdocuments
sudo -u www-data php /var/www/nextcloud/occ richdocuments:activate-config -w https://office.example.com -c https://cloud.example.com

# Snap package
sudo nextcloud.occ app:install richdocuments
sudo nextcloud.occ richdocuments:activate-config -w https://office.example.com -c https://cloud.example.com

# Official docker image, your own compose file
docker exec --user www-data <nextcloud-container-name> php occ app:install richdocuments
docker exec --user www-data <nextcloud-container-name> php occ richdocuments:activate-config -w https://office.example.com -c https://cloud.example.com

Nextcloud All-in-One#

AIO is a master container that manages child containers. The office server is an optional AIO container. When that option is on, AIO overwrites wopi_url and recomputes wopi_allowlist on every start, so anything you set by hand is lost.

  1. Do not enable the bundled office server in the AIO interface.
  2. Create the mastercontainer with REMOVE_DISABLED_APPS=no; otherwise AIO removes richdocuments when its bundled office server is off.
  3. Install and configure richdocuments by hand, pointing at an O3O server with its own domain and certificate (AIO only handles TLS for the Nextcloud domain).
  4. If Nextcloud sits behind Cloudflare or another CDN, add its IP ranges to wopi_allowlist in the Nextcloud Office admin page.
BashManual configuration on AIO
# 1. Re-create the mastercontainer with REMOVE_DISABLED_APPS=no (keep every other flag you already use)
#    ... --env REMOVE_DISABLED_APPS=no ... nextcloud/all-in-one:latest

# 2. In the AIO interface: do NOT enable AIO's bundled office option, then restart the containers

# 3. Point richdocuments at the O3O server by hand; always pass -c (the address the O3O server uses to call Nextcloud back)
sudo docker exec --user www-data nextcloud-aio-nextcloud php occ app:install richdocuments
sudo docker exec --user www-data nextcloud-aio-nextcloud php occ richdocuments:activate-config -w https://office.example.com -c https://cloud.example.com
sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:app:get richdocuments public_wopi_url
sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:app:get richdocuments wopi_callback_url

Quick comparison#

Existing NextcloudNextcloud AIO
Running occweb server user, snap, or docker execdocker exec --user www-data nextcloud-aio-nextcloud php occ
Settings overwrittenNoYes, if the bundled office server is on
TLS for the O3O serverYours to set upYours to set up; AIO does not proxy it
Verified in v1occ commands on Nextcloud 30Not yet