services: {% include 'templates/docker/services/redis.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %} application: image: "nextcloud:{{applications.nextcloud.version}}-fpm-alpine" container_name: {{nextcloud_application_container_name}} restart: {{docker_restart_policy}} logging: driver: journald volumes: - data:/var/www/html environment: # See https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html # Database Configuration MYSQL_DATABASE: "{{database_name}}" MYSQL_USER: "{{database_username}}" MYSQL_PASSWORD: "{{database_password}}" MYSQL_HOST: "{{database_host}}:{{database_port}}" # Memory PHP_MEMORY_LIMIT: 1G # Required for plugin duplicate finder # Email Configuration SMTP_HOST: {{system_email.host}} SMTP_SECURE: {{ 'ssl' if system_email.tls else '' }} SMTP_PORT: {{system_email.smtp_port}} SMTP_NAME: {{system_email.username}} SMTP_PASSWORD: {{system_email.password}} # Email from configuration MAIL_FROM_ADDRESS: no-reply MAIL_DOMAIN: {{system_email.domain}} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %} web: image: nginx:alpine container_name: nextcloud-web logging: driver: journald restart: {{docker_restart_policy}} ports: - "127.0.0.1:{{http_port}}:80" volumes: - "{{docker_compose_instance_directory}}/nginx.conf:/etc/nginx/nginx.conf:ro" volumes_from: - application healthcheck: test: ["CMD", "curl", "-f", "http://localhost:80/"] interval: 1m timeout: 10s retries: 3 {% include 'templates/docker/container/networks.yml.j2' %} cron: container_name: nextcloud-cron image: "nextcloud:{{applications.nextcloud.version}}-fpm-alpine" restart: {{docker_restart_policy}} logging: driver: journald volumes: - data:/var/www/html entrypoint: /cron.sh {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %} data: redis: {% include 'templates/docker/compose/networks.yml.j2' %}