OpenCloud
OpenCloud (oCIS is a self-hosted cloud storage platform, serving as a Nextcloud replacement. It runs in a NixOS container with private networking.
Source: server/containers/opencloud.nix
Network
| Property | Value |
|---|---|
| Private network | Yes |
| Host address | 10.10.10.100 |
| Container address | 10.10.10.101 |
| Port | 9200 |
| Subdomain | cloud.nemnix.site |
| Authelia middleware | No |
Configuration
services.opencloud = {
enable = true;
port = 9200;
url = "https://cloud.nemnix.site";
address = config.containers.opencloud.localAddress;
environment = {
OC_LOG_LEVEL = "info";
OC_LOG_COLOR = "true";
OC_LOG_PRETTY = "true";
PROXY_TLS = "false"; # TLS handled by Traefik
OC_INSECURE = "true"; # Trust Traefik's TLS termination
IDM_ADMIN_PASSWORD = "admin";
};
};| Setting | Value | Purpose |
|---|---|---|
PROXY_TLS | false | TLS is terminated at Traefik, not oCIS |
OC_INSECURE | true | Accept upstream connections without TLS verification |
IDM_ADMIN_PASSWORD | admin | Initial admin password |
WARNING
The IDM_ADMIN_PASSWORD is set to "admin" in plaintext. This should be changed after initial setup or migrated to an agenix secret.
Why OpenCloud over Nextcloud?
A full Nextcloud configuration exists in containers/nextcloud.nix (currently commented out). The switch to OpenCloud likely reflects:
- Simpler operation: oCIS is a single Go binary vs Nextcloud's PHP + Redis + PostgreSQL stack.
- Lower resource usage: no PHP-FPM, no Redis, no OPcache tuning.
- Modern architecture: microservice-based, designed for cloud-native deployment.
Traefik Route
routers.opencloud = {
rule = "Host(`cloud.nemnix.site`)";
service = "opencloud";
entryPoints = [ "websecure" ];
};No Authelia middleware is applied -- OpenCloud handles its own authentication through its built-in identity management (IDM).
Data Persistence
OpenCloud stores data under /var/lib/opencloud. This persists through host reboots via the container data path in /var/lib/nixos-containers/opencloud/.
Backups
OpenCloud data is included in the Restic backup set:
paths = [
"/persist/var/lib/nixos-containers/opencloud/var/lib/opencloud"
];See Backups & Recovery.