mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-07 11:22:31 +00:00
PHP_MEMORY_LIMIT and PHP_OPCACHE_MEMORY_CONSUMPTION were both the host's
RAM divided by 30, read from two keys in meta/services.yml: 533M on a
16 GB host, 2133M on a 64 GB one, beside a container limited to 3g either
way. They are now half and an eighth of that limit through
lookup('service_memory_mb'), which renders 1536M and 384M on every host.
The lookup sits in env.j2 and the two meta keys are gone. It reads the
applications payload, and meta/services.yml is part of that payload, so
a call from there would run back into the render that asked for it.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
79 lines
3.4 KiB
Django/Jinja
79 lines
3.4 KiB
Django/Jinja
{% include 'roles/sys-svc-container/templates/env.j2' %}
|
|
|
|
MYSQL_DATABASE={{ lookup('database', application_id, 'name') }}
|
|
MYSQL_USER={{ lookup('database', application_id, 'username') }}
|
|
MYSQL_PASSWORD={{ lookup('database', application_id, 'password') | dotenv_quote }}
|
|
MYSQL_HOST={{ lookup('database', application_id, 'host') }}:{{ lookup('database', application_id, 'port') }}
|
|
|
|
PHP_MEMORY_LIMIT={{ lookup('service_memory_mb', application_id, 'nextcloud', 0.5) }}M
|
|
PHP_UPLOAD_LIMIT={{ lookup('config', application_id, 'services.nextcloud.performance.php.upload_limit') }}
|
|
PHP_OPCACHE_MEMORY_CONSUMPTION={{ lookup('service_memory_mb', application_id, 'nextcloud', 0.125) }}M
|
|
|
|
{% set email = lookup('email', application_id) %}
|
|
{% if email.enabled | bool %}
|
|
SMTP_HOST={{ email.host }}
|
|
SMTP_SECURE={{ 'ssl' if email.tls else '' }}
|
|
SMTP_PORT={{ email.port }}
|
|
SMTP_NAME={{ email.username }}
|
|
SMTP_PASSWORD={{ email.password | dotenv_quote }}
|
|
|
|
MAIL_FROM_ADDRESS={{ lookup('users', 'no-reply').username }}
|
|
MAIL_DOMAIN={{ email.domain }}
|
|
{% endif %}
|
|
|
|
NEXTCLOUD_ADMIN_USER={{ NEXTCLOUD_ADMINISTRATOR_USERNAME }}
|
|
NEXTCLOUD_ADMIN_PASSWORD={{ NEXTCLOUD_ADMINISTRATOR_PASSWORD | dotenv_quote }}
|
|
|
|
NEXTCLOUD_INIT_GATE_USER={{ NEXTCLOUD_DOCKER_USER }}
|
|
|
|
NEXTCLOUD_TRUSTED_DOMAINS={{ NEXTCLOUD_DOMAIN }}
|
|
TRUSTED_PROXIES={{ NEXTCLOUD_TRUSTED_PROXIES | join(',') }}
|
|
OVERWRITECLIURL={{ NEXTCLOUD_URL }}
|
|
OVERWRITEPROTOCOL={{ NEXTCLOUD_PROTOCOL }}
|
|
|
|
REDIS_HOST={{ lookup('engine', 'redis', application_id, 'host') }}
|
|
REDIS_PORT={{ lookup('engine', 'redis', application_id, 'port') }}
|
|
{% set _redis_user = lookup('engine', 'redis', application_id, 'username') %}
|
|
{% if _redis_user | length > 0 %}
|
|
REDIS_HOST_USER={{ _redis_user }}
|
|
{% endif %}
|
|
{% set _redis_password = lookup('engine', 'redis', application_id, 'password') %}
|
|
{% if _redis_password | length > 0 %}
|
|
REDIS_HOST_PASSWORD={{ _redis_password | dotenv_quote }}
|
|
{% endif %}
|
|
|
|
{% if lookup('objstore', application_id, 'enabled') | bool %}
|
|
OBJECTSTORE_S3_BUCKET={{ lookup('objstore', application_id, 'bucket') }}
|
|
OBJECTSTORE_S3_HOST={{ lookup('objstore', application_id, 'host') }}
|
|
OBJECTSTORE_S3_PORT={{ lookup('objstore', application_id, 'port') }}
|
|
OBJECTSTORE_S3_SSL=false
|
|
OBJECTSTORE_S3_USEPATH_STYLE=true
|
|
OBJECTSTORE_S3_REGION={{ lookup('objstore', application_id, 'region') }}
|
|
OBJECTSTORE_S3_KEY={{ lookup('objstore', application_id, 'access_key') }}
|
|
OBJECTSTORE_S3_SECRET={{ lookup('objstore', application_id, 'secret_key') | dotenv_quote }}
|
|
OBJECTSTORE_S3_AUTOCREATE=false
|
|
{% endif %}
|
|
|
|
{% if NEXTCLOUD_HPB_PLUGIN_ENABLED %}
|
|
NC_DOMAIN={{ NEXTCLOUD_DOMAIN }}
|
|
TALK_HOST={{ NEXTCLOUD_HPB_DOMAIN }}
|
|
SIGNALING_SECRET={{ NEXTCLOUD_HPB_SIGNALING_SECRET }}
|
|
INTERNAL_SECRET={{ NEXTCLOUD_HPB_INTERNAL_SECRET }}
|
|
TURN_SECRET={{ NEXTCLOUD_HPB_TURN_ONBOARD_SECRET }}
|
|
TALK_PORT={{ NEXTCLOUD_HPB_TURN_ONBOARD_PORT }}
|
|
TURN_MIN_PORT={{ NEXTCLOUD_HPB_TURN_ONBOARD_RELAY_PORT_START }}
|
|
TURN_MAX_PORT={{ NEXTCLOUD_HPB_TURN_ONBOARD_RELAY_PORT_END }}
|
|
COTURN_MIN_PORT={{ NEXTCLOUD_HPB_TURN_ONBOARD_RELAY_PORT_START }}
|
|
COTURN_MAX_PORT={{ NEXTCLOUD_HPB_TURN_ONBOARD_RELAY_PORT_END }}
|
|
{% endif %}
|
|
|
|
{% if NEXTCLOUD_WHITEBOARD_ENABLED %}
|
|
NEXTCLOUD_URL={{ NEXTCLOUD_URL }}
|
|
JWT_SECRET_KEY={{ NEXTCLOUD_WHITEBOARD_JWT }}
|
|
STORAGE_STRATEGY=redis
|
|
REDIS_URL={{ lookup('engine', 'redis', application_id, 'url') }}
|
|
CHROMIUM_FLAGS=--headless=new --no-sandbox --disable-gpu --disable-dev-shm-usage --use-gl=swiftshader --disable-software-rasterizer
|
|
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
|
|
PUPPETEER_SKIP_DOWNLOAD=true
|
|
{% endif %}
|