61 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# documentation: https://docs.nextcloud.com
 | 
						|
# slogan: NextCloud is a self-hosted, open-source platform that provides file storage, collaboration, and communication tools for seamless data management.
 | 
						|
# tags: cloud, collaboration, communication, filestorage, data
 | 
						|
# logo: svgs/nextcloud.svg
 | 
						|
# port: 80
 | 
						|
 | 
						|
services:
 | 
						|
  nextcloud:
 | 
						|
    image: lscr.io/linuxserver/nextcloud:latest
 | 
						|
    environment:
 | 
						|
      - SERVICE_FQDN_NEXTCLOUD_80
 | 
						|
      - PUID=1000
 | 
						|
      - PGID=1000
 | 
						|
      - TZ=${TZ:-Europe/Paris}
 | 
						|
      - POSTGRES_DB=${POSTGRES_DB:-nextcloud}
 | 
						|
      - POSTGRES_USER=${SERVICE_USER_POSTGRES}
 | 
						|
      - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
 | 
						|
      - POSTGRES_HOST=nextcloud-db
 | 
						|
      - REDIS_HOST=redis
 | 
						|
      - REDIS_PORT=6379
 | 
						|
    volumes:
 | 
						|
      - nextcloud-config:/config
 | 
						|
      - nextcloud-data:/data
 | 
						|
    depends_on:
 | 
						|
      nextcloud-db:
 | 
						|
        condition: service_healthy
 | 
						|
      redis:
 | 
						|
        condition: service_healthy
 | 
						|
    healthcheck:
 | 
						|
      test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
 | 
						|
      interval: 2s
 | 
						|
      timeout: 10s
 | 
						|
      retries: 15
 | 
						|
 | 
						|
  nextcloud-db:
 | 
						|
    image: postgres:16-alpine
 | 
						|
    volumes:
 | 
						|
      - nextcloud-postgresql-data:/var/lib/postgresql/data
 | 
						|
    environment:
 | 
						|
      - POSTGRES_USER=${SERVICE_USER_POSTGRES}
 | 
						|
      - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
 | 
						|
      - POSTGRES_DB=${POSTGRES_DB:-nextcloud}
 | 
						|
    healthcheck:
 | 
						|
      test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
 | 
						|
      interval: 5s
 | 
						|
      timeout: 20s
 | 
						|
      retries: 10
 | 
						|
 | 
						|
  redis:
 | 
						|
    image: "redis:7.4-alpine"
 | 
						|
    volumes:
 | 
						|
      - "nextcloud-redis-data:/data"
 | 
						|
    healthcheck:
 | 
						|
      test:
 | 
						|
        - CMD
 | 
						|
        - redis-cli
 | 
						|
        - PING
 | 
						|
      interval: 5s
 | 
						|
      timeout: 10s
 | 
						|
      retries: 20
 |