# # Copyright © 2021,2022 IsardVDI S.L. # Copyright © 2023 Evilham # # This file is part of DD # # DD is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or (at your # option) any later version. # # DD is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more # details. # # You should have received a copy of the GNU Affero General Public License # along with DD. If not, see . # # SPDX-License-Identifier: AGPL-3.0-or-later version: '3.7' services: dd-apps-nextcloud-app: build: context: ${BUILD_APPS_ROOT_PATH}/docker/nextcloud dockerfile: Dockerfile args: # Update dd.conf.sample when bumping this version in main - IMG=${NEXTCLOUD_IMG_OVERRIDE-nextcloud:24.0.8-fpm-alpine} container_name: dd-apps-nextcloud-app restart: unless-stopped depends_on: - dd-apps-postgresql volumes: - /etc/localtime:/etc/localtime:ro - ${SRC_FOLDER}/nextcloud:/var/www/html - ${DATA_FOLDER}/nextcloud:/var/www/html/data - ${DATA_FOLDER}/saml/nextcloud:/saml:ro - ${DATA_FOLDER}/nc-mail-queue:/nc-mail-queue:rw environment: # DD-specific settings - DOMAIN=${DOMAIN} # General Nextcloud settings - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER} - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD} - POSTGRES_DB=nextcloud - POSTGRES_USER=${NEXTCLOUD_POSTGRES_USER} - POSTGRES_PASSWORD=${NEXTCLOUD_POSTGRES_PASSWORD} - POSTGRES_HOST=dd-apps-postgresql - REDIS_HOST=dd-apps-redis - NEXTCLOUD_TRUSTED_DOMAINS=nextcloud.${DOMAIN} # SMTP settings - SMTP_HOST=${SMTP_HOST} - SMTP_PORT=${SMTP_PORT} - SMTP_SECURE=${SMTP_PROTOCOL} - SMTP_NAME=${SMTP_USER} - SMTP_PASSWORD=${SMTP_PASSWORD} - MAIL_FROM_ADDRESS=${SMTP_LOCAL_PART} - MAIL_DOMAIN=${SMTP_DOMAIN} # PHP-specific settings - PHP_UPLOAD_LIMIT=${NEXTCLOUD_UPLOAD_LIMIT-512M} - PHP_MEMORY_LIMIT=${NEXTCLOUD_MEMORY_LIMIT-512M} # Proxy-specific settings - OVERWRITEPROTOCOL=https networks: - dd_net dd-apps-nextcloud-nginx: image: ${NGINX_ALPINE_IMG-nginx:1.22.1-alpine} container_name: dd-apps-nextcloud-nginx restart: unless-stopped links: - dd-apps-nextcloud-app volumes: # Customised nginx config - ${BUILD_APPS_ROOT_PATH}/docker/nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro # By mounting these, nginx can serve static files when possible - ${SRC_FOLDER}/nextcloud:/var/www/html:ro - ${BUILD_APPS_ROOT_PATH}/docker/nextcloud/src/themes/dd:/var/www/html/themes/dd:ro # This image does not require access to any environment variables environment: [] healthcheck: test: | curl -L --max-redirs 1 \ --proxy-basic 'http://localhost:8080' \ -sw '%{redirect_url}' \ 'https://nextcloud.${DOMAIN}/login' | grep -q 'https://sso.${DOMAIN}' interval: 30s timeout: 10s retries: 5 networks: - dd_net