{% import 'contrib/compose_helpers.j2' as helpers with context %} networks: {{ helpers.default_network(198) | indent(2) }} services: app: image: &nextcloud_image nextcloud:stable-apache container_name: nextcloud_app labels: - {{ helpers.traefik_labels('nc', port='80') | indent(6) }} restart: unless-stopped depends_on: - db - redis env_file: - .env.nextcloud volumes: - {{ base_volume_path }}/nextcloud/nextcloud:/var/www/html - {{ base_volume_path }}/nextcloud/nextcloud_config:/var/www/html/config - {{ base_volume_path }}/nextcloud/nextcloud_data:/var/www/html/data cron: image: *nextcloud_image container_name: nextcloud_cron restart: unless-stopped depends_on: - app entrypoint: /cron.sh volumes: - {{ base_volume_path }}/nextcloud/nextcloud:/var/www/html - {{ base_volume_path }}/nextcloud/nextcloud_config:/var/www/html/config - {{ base_volume_path }}/nextcloud/nextcloud_data:/var/www/html/data notify_push: image: *nextcloud_image container_name: nextcloud_notify_push labels: - {{ helpers.traefik_labels('nc', port='7867', path_prefix='/push') | indent(6) }} restart: unless-stopped user: www-data env_file: - .env.notify_push network_mode: service:app entrypoint: - /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push volumes: - {{ base_volume_path }}/nextcloud/nextcloud:/var/www/html db: image: postgres:16-alpine container_name: nextcloud_db restart: unless-stopped env_file: - .env.db volumes: - {{ base_volume_path }}/nextcloud/db:/var/lib/postgresql/data redis: image: redis:alpine container_name: nextcloud_redis restart: unless-stopped env_file: - .env.redis command: - sh - -c - redis-server --requirepass $$REDIS_PASSWORD