Deployment configuration for OwnCloud Infinite Scale
Go to file
2023-09-17 13:44:21 -04:00
mounts Enable Collabora/WOPI/office suite 2023-09-17 13:44:21 -04:00
.gitignore Enable Collabora/WOPI/office suite 2023-09-17 13:44:21 -04:00
dns.sh Enable Collabora/WOPI/office suite 2023-09-17 13:44:21 -04:00
docker-compose.yml Enable Collabora/WOPI/office suite 2023-09-17 13:44:21 -04:00
gen-secrets.sh Enable Collabora/WOPI/office suite 2023-09-17 13:44:21 -04:00
README.md Enable Collabora/WOPI/office suite 2023-09-17 13:44:21 -04:00
shell.nix Enable Collabora/WOPI/office suite 2023-09-17 13:44:21 -04:00

OwnCloud "Infinite Scale"

OCIS is an alternative to OwnCloud/NextCloud which comes with a much more limited feature-set, but eliminates the performance and (🤞) stability issues inherent to those legacy codebases due to their having been written in PHP. OCIS is written in Go and provides a singles static binary, which creates that strict barrier between application code and persistent data which has bitten me so many times.

First run

If you've just cloned this to a new machine, you have to bootstrap the service:

$ mkdir -p mounts/{config,data}
$ docker compose run init
$ sh gen-secrets.sh
$ sh dns.sh  # requires `doctl auth init` be run on the machine once before

Subsequent runs

The application requires nothing special, just a docker compose up.

Backups

The service is running on retastokado, a 6TB ZFS mirrored pair at Scott's home. It has limited upload speed. Sanoid is configured, via NixOS config, to keep 48 hourly, 14 daily, 3 monthly, and 1 yearly snapshot of the config (/etc/ocis) and data (/var/lib/ocis) volumes. Adding another zpool at another location and configuring Syncoid would provide a sound backup strategy.