Nextcloud Office

COMPLETE Deployed office.rmf44.xyz as a Nextcloud All-in-One stack with Collabora + Whiteboard on homework03, with public ingress through hawker's Caddy over a NetBird mesh. Replaces the retired OnlyOffice container. Cutover completed 2026-08-10.

Page index

The goal

Replace the standalone OnlyOffice container on hawker with a full Nextcloud All-in-One deployment providing file sync, Collabora-based office editing (Word/Excel/PowerPoint), and the built-in Whiteboard. Public URL https://office.rmf44.xyz serves a single domain (no subdomain split). User data lives on desslok via NFS so existing backup snapshots still apply.

At a glance

ItemValue
Hostnameoffice.rmf44.xyz (single domain)
StackNextcloud All-in-One, 8 containers (mastercontainer, apache, nextcloud-fcgi, database, redis, collabora, whiteboard, notify-push)
AIO hosthomework03 (10.0.0.73), Debian 13, Docker 29.6.2, 15 GB RAM
Apache port11000 (host-side; mastercontainer owns host :80 for acme)
Public ingresshawker Caddy office.rmf44.xyz → 100.79.142.164:11000 over NetBird
Office suiteCollabora (via richdocuments + office apps)
Extras enabledWhiteboard
Extras disabledTalk, Imaginary (previews), ClamAV, Fulltextsearch, Adminer
StorageNFSv4.1 from desslok:/slab/container_storage/office mounted at /srv/nc-files/ on homework03
DatabasePostgreSQL inside nextcloud-aio-database container, daily pg_dumpall to NFS
RAM footprint~6-9 GB on 15 GB host (97% baseline before AIO)
Cutover timeCaddy block upstream fix (:80 → :11000) ≈ 1 minute

Architecture at a glance

Topology — NetBird mesh, AIO on homework03, NFS on desslok

Full architecture detail →

Why this approach

What's still on the day-2 list

Files & code paths

PathHostWhat
/usr/local/containers/nextcloudaio/docker-compose.yamlhomework03Mastercontainer with network_mode: host
/usr/local/containers/nextcloudaio/nextcloud-aio-{mastercontainer,database,redis,apache,nextcloud,collabora,whiteboard,notify-push,database-dump}/homework03Named docker volume bind targets
/srv/nc-files/homework03NFS mount of desslok:/slab/container_storage/office
/mnt/nc-data/nextcloud-data/homework03Bind into nextcloud container at /nextcloud-aio/data
/usr/local/bin/office-backup.shhomework03Daily backup script (pgdump + config tar + user files tar)
/etc/systemd/system/office-backup.{service,timer}hectorDaily 03:30 UTC trigger, SSH to homework03
/etc/caddy/CaddyfilehawkerReverse proxy block: office.rmf44.xyz → 100.79.142.164:11000
/slab/container_storage/office/desslokLive data + backups/ subdir