# @See https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html
# @See https://github.com/nextcloud/docker/blob/master/README.md

# Database Configuration
MYSQL_DATABASE=                 "{{ database_name }}"
MYSQL_USER=                     "{{ database_username }}"
MYSQL_PASSWORD=                 "{{ database_password }}"
MYSQL_HOST=                     "{{ database_host }}:{{ database_port }}"
      
# PHP
PHP_MEMORY_LIMIT=               "{{applications | get_app_conf(application_id, 'performance.php.memory_limit')}}"
PHP_UPLOAD_LIMIT=               "{{applications | get_app_conf(application_id, 'performance.php.upload_limit')}}"
PHP_OPCACHE_MEMORY_CONSUMPTION= "{{applications | get_app_conf(application_id, 'performance.php.opcache_memory_consumption')}}"
      
# Email Configuration
SMTP_HOST=                      {{ SYSTEM_EMAIL.HOST }}
SMTP_SECURE=                    {{ 'ssl' if SYSTEM_EMAIL.TLS else '' }}
SMTP_PORT=                      {{ SYSTEM_EMAIL.PORT }}
SMTP_NAME=                      {{ users['no-reply'].email }}
SMTP_PASSWORD=                  {{ users['no-reply'].mailu_token }}

# Email from configuration
MAIL_FROM_ADDRESS=              "{{ users['no-reply'].username }}"
MAIL_DOMAIN=                    "{{ SYSTEM_EMAIL.DOMAIN }}"

# Initial Admin Data
NEXTCLOUD_ADMIN_USER=           "{{applications | get_app_conf(application_id, 'users.administrator.username')}}"
NEXTCLOUD_ADMIN_PASSWORD=       "{{applications | get_app_conf(application_id, 'credentials.administrator_password')}}"

# Security

NEXTCLOUD_TRUSTED_DOMAINS=      "{{ domains[application_id] | select | join(',') }}"
# Whitelist local docker gateway in Nextcloud to prevent brute-force throtteling
TRUSTED_PROXIES=                "{{ networks.internet.values() | select | join(',') }}"
OVERWRITECLIURL=                "{{ domains | get_url(application_id, WEB_PROTOCOL) }}"
OVERWRITEPROTOCOL=              "https"

# Redis Configuration
REDIS_HOST=                     redis
REDIS_PORT=                     6379

{% if nextcloud_talk_enabled %}
# Talk Configuration
# This code was just moved here during refactoring and isn't tested yet.
# @todo move it to an own env file for encapsulation reasons
NC_DOMAIN=cloud.yourdomain.tld
TALK_HOST=signaling.yourdomain.tld
TURN_SECRET=${TURN_SECRET}
SIGNALING_SECRET=${SIGNALING_SECRET}
TZ=Europe/Berlin
TALK_PORT=3478
INTERNAL_SECRET=${INTERNAL_SECRET}
{% endif %}