[variables]
main_domain = "${domain}"
owncloud_url = "https://${main_domain}"
admin_password = "${password:32}"
log_level = "info"

[[config.domains]]
serviceName = "gateway"
port = 8080
host = "${main_domain}"
path = "/"

[[config.mounts]]
filePath = "/etc/nginx/conf.d/default.conf"
content = """
map $http_upgrade $connection_upgrade {
  default upgrade;
  "" close;
}

server {
  listen 8080;
  client_max_body_size 0;
  proxy_request_buffering off;

  location / {
    proxy_pass http://owncloud-infinite-scale:9200;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_read_timeout 3600s;
    proxy_send_timeout 3600s;
  }
}
"""

[[config.mounts]]
filePath = "README.md"
content = """# ownCloud Infinite Scale

This template deploys ownCloud Infinite Scale (oCIS), a modern file sync and share platform with WebDAV and ownCloud client support.

## Access

- URL: `https://${main_domain}`
- Admin user: `admin`
- Admin password: the generated `admin_password` value

The `owncloud_url` value must use `https://` because oCIS only supports HTTPS public URLs (its built-in identity provider rejects plain HTTP issuers). A bundled nginx gateway sits in front of oCIS and forwards requests with `X-Forwarded-Proto: https`, which keeps oCIS from redirecting every request when it runs behind the Dokploy proxy. Enable HTTPS on the Dokploy domain so the public URL matches `OCIS_URL`.

## Storage

The template creates persistent volumes for:

- `/etc/ocis` configuration
- `/var/lib/ocis` application data and user storage
- `/var/lib/ocis-thumbnails` generated thumbnails

Back up these volumes together before upgrades or migrations.
"""

[config.env]
OCIS_URL = "${owncloud_url}"
IDM_ADMIN_PASSWORD = "${admin_password}"
OCIS_LOG_LEVEL = "${log_level}"
