version: '3.7' # https://hub.docker.com/_/nextcloud/ # https://github.com/nextcloud/docker # https://docs.nextcloud.com/server/stable/admin_manual/release_schedule.html # disable cert verification for local smtp connection: # https://docs.nextcloud.com/server/26/admin_manual/configuration_server/email_configuration.html#tlspeerverification # https://blog.cubieserver.de/2022/complete-guide-to-nextcloud-oidc-authentication-with-authentik/ # create admin account during setup networks: nextcloud: services: nextcloud: image: nextcloud:28 container_name: nextcloud restart: "${RESTART:-no}" hostname: cloud domainname: ${BASE_DOMAIN} environment: - APACHE_DISABLE_REWRITE_IP=1 - TRUSTED_PROXIES=10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 - OVERWRITEPROTOCOL=https - POSTGRES_HOST=pg-nextcloud - POSTGRES_DB=nextcloud - POSTGRES_USER=nextcloud - POSTGRES_PASSWORD=${NEXTCLOUD_PG_PWD:-password} - REDIS_HOST=redis-nextcloud volumes: - ${BASE_DIR:-/srv}/nextcloud/html:/var/www/html # Main folder, needed for updating - ${BASE_DIR:-/srv}/nextcloud/apps:/var/www/html/custom_apps # installed / modified apps - ${BASE_DIR:-/srv}/nextcloud/config:/var/www/html/config # local configuration - ${BASE_DIR:-/srv}/nextcloud/data:/var/www/html/data # the actual data of your Nextcloud - ${BASE_DIR:-/srv}/nextcloud/themes:/var/www/html/themes # theming/branding depends_on: - pg-nextcloud - redis-nextcloud networks: - proxy - mail - nextcloud nextcloud-cron: image: nextcloud:28 container_name: nextcloud-cron restart: "${RESTART:-no}" entrypoint: /cron.sh volumes: - ${BASE_DIR:-/srv}/nextcloud/html:/var/www/html # Main folder, needed for updating - ${BASE_DIR:-/srv}/nextcloud/apps:/var/www/html/custom_apps # installed / modified apps - ${BASE_DIR:-/srv}/nextcloud/config:/var/www/html/config # local configuration - ${BASE_DIR:-/srv}/nextcloud/data:/var/www/html/data # the actual data of your Nextcloud - ${BASE_DIR:-/srv}/nextcloud/themes:/var/www/html/themes # theming/branding depends_on: - pg-nextcloud - redis-nextcloud networks: - nextcloud pg-nextcloud: image: postgres:15-alpine container_name: pg-nextcloud restart: "${RESTART:-no}" environment: - POSTGRES_DB=nextcloud - POSTGRES_USER=nextcloud - POSTGRES_PASSWORD=${NEXTCLOUD_PG_PWD:-password} volumes: - ${BASE_DIR:-/srv}/nextcloud/psql:/var/lib/postgresql/data networks: - nextcloud redis-nextcloud: image: redis:7-alpine container_name: redis-nextcloud restart: "${RESTART:-no}" networks: - nextcloud