services: db: image: mariadb:11 hostname: nextcloud-db container_name: nextcloud-db restart: unless-stopped command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USER} volumes: - db_data:/var/lib/mysql networks: - proxy-tier redis: image: redis:alpine restart: unless-stopped networks: - proxy-tier app: image: nextcloud:latest restart: unless-stopped environment: - VIRTUAL_HOST=${VIRTUAL_HOST} - LETSENCRYPT_HOST=${LETSENCRYPT_HOST} - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USER} - MYSQL_HOST=db - REDIS_HOST=redis - PHP_UPLOAD_LIMIT=16G - PHP_MEMORY_LIMIT=1024M - CLIENT_MAX_BODY_SIZE=0 volumes: - ./config:/var/www/html/config - ./custom_apps:/var/www/html/custom_apps - ./data:/var/www/html/data depends_on: - db - redis networks: - proxy-tier entrypoint: > sh -c "/entrypoint.sh apache2-foreground & sleep 20 && php occ config:system:set trusted_domains 0 --value=${VIRTUAL_HOST} && php occ config:system:set trusted_proxies 0 --value=nginx-proxy && php occ config:system:set overwrite.cli.url --value=https://${VIRTUAL_HOST} && php occ config:system:set overwriteprotocol --value=https && php occ config:system:set memcache.local --value='\\OC\\Memcache\\APCu' && php occ config:system:set memcache.locking --value='\\OC\\Memcache\\Redis' && php occ config:system:set redis host --value=redis " volumes: db_data: networks: proxy-tier: external: true