version: "3.7" services: app_proxy: environment: APP_HOST: nextcloud_web_1 APP_PORT: 80 PROXY_AUTH_ADD: "false" db: image: mariadb:10.5.12@sha256:dfcba5641bdbfd7cbf5b07eeed707e6a3672f46823695a0d3aba2e49bbd9b1dd user: "1000:1000" command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: on-failure volumes: - ${APP_DATA_DIR}/data/db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=moneyprintergobrrr - MYSQL_PASSWORD=moneyprintergobrrr - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud redis: image: redis:6.2.2-buster@sha256:e10f55f92478715698a2cef97c2bbdc48df2a05081edd884938903aa60df6396 user: "1000:1000" restart: on-failure volumes: - "${APP_DATA_DIR}/data/redis:/data" web: image: nextcloud:25.0.1-apache@sha256:a200319b132c01ec3486e0dcaf052092b560ec30ac9b78115607696dd201f704 # Currently needs to be run as root, if we run as uid 1000 this fails # https://github.com/nextcloud/docker/blob/05026b029d37fc5cd488d4a4a2a79480e39841ba/21.0/apache/entrypoint.sh#L53-L77 # user: "1000:1000" restart: on-failure volumes: - ${APP_DATA_DIR}/data/nextcloud:/var/www/html environment: - MYSQL_HOST=nextcloud_db_1 - REDIS_HOST=nextcloud_redis_1 - MYSQL_PASSWORD=moneyprintergobrrr - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - TRUSTED_PROXIES="${NETWORK_IP}/16" - NEXTCLOUD_ADMIN_USER=umbrel - NEXTCLOUD_ADMIN_PASSWORD=${APP_PASSWORD} - NEXTCLOUD_TRUSTED_DOMAINS=${APP_DOMAIN}:${APP_NEXTCLOUD_PORT} ${APP_HIDDEN_SERVICE} ${DEVICE_HOSTNAME}:${APP_NEXTCLOUD_PORT} ${APP_NEXTCLOUD_LOCAL_IPS} - PHP_UPLOAD_LIMIT=1024G depends_on: - db - redis cron: image: nextcloud:25.0.1-apache@sha256:a200319b132c01ec3486e0dcaf052092b560ec30ac9b78115607696dd201f704 # Currently needs to be run as root, if we run as uid 1000 this fails # https://github.com/nextcloud/docker/blob/05026b029d37fc5cd488d4a4a2a79480e39841ba/21.0/apache/entrypoint.sh#L53-L77 # user: "1000:1000" restart: on-failure volumes: - ${APP_DATA_DIR}/data/nextcloud:/var/www/html entrypoint: /cron.sh depends_on: - db - redis