lab-ansible/roles/apps/templates/compose-files/nextcloud.yml.j2

66 lines
1.9 KiB
Django/Jinja

{# code: language=ansible-jinja #}
# THIS FILE IS MANAGED BY ANSIBLE
services:
redis:
image: redis:{{ apps_vars.nextcloud.redis_version }}
restart: always
command: redis-server --requirepass {{ redis_passwords.nextcloud }}
tmpfs:
- /var/lib/redis
app:
image: nextcloud:{{ apps_vars.nextcloud.version }}
restart: always
environment:
POSTGRES_HOST: {{ db_host }}
POSTGRES_DB: {{ databases.nextcloud.db }}
POSTGRES_USER: {{ databases.nextcloud.user }}
POSTGRES_PASSWORD: {{ databases.nextcloud.password }}
REDIS_HOST: redis
REDIS_HOST_PASSWORD: {{ redis_passwords.nextcloud }}
MAIL_FROM_ADDRESS: noreply
MAIL_DOMAIN: {{ apps_vars.nextcloud.domain }}
SMTP_AUTHTYPE: PLAIN
SMTP_HOST: postfix
SMTP_PORT: 587
OVERWRITEHOST: {{ apps_vars.nextcloud.domain }}
OVERWRITEPROTOCOL: https
OVERWRITECLIURL: https://{{ apps_vars.nextcloud.domain }}
TRUSTED_PROXIES: '{{ proxy_host }} {{ apps_vars.nginx.docker_ipv4 }} fd02::/64'
NEXTCLOUD_TRUSTED_DOMAINS: {{ apps_vars.nextcloud.domain }}
NEXTCLOUD_INIT_LOCK: true
PHP_MEMORY_LIMIT: 2G
PHP_UPLOAD_LIMIT: 0
APACHE_BODY_LIMIT: 0
networks:
default:
{{ apps_shared_docker_network }}:
aliases:
- nextcloud
{% if 'postfix' in apps_include %}
{{ apps_postfix_docker_network }}:
{% endif %}
volumes:
- "./data/app:/var/www/html:rw"
- "./data/apache2/remoteip.conf:/etc/apache2/conf-enabled/remoteip.conf:ro"
depends_on:
- redis
cron:
image: nextcloud:{{ apps_vars.nextcloud.version }}
restart: always
entrypoint: /cron.sh
volumes:
- "./data/app:/var/www/html:rw"
depends_on:
- app
networks:
{{ apps_shared_docker_network }}:
external: true
{% if 'postfix' in apps_include %}
{{ apps_postfix_docker_network }}:
external: true
{% endif %}