#Source: https://www.reddit.com/r/NextCloud/comments/vyil8b/nextcloud_redis_postgres_collabora_the_holy_grail/ --- version: "2" services: nextcloud: image: linuxserver/nextcloud:php8 container_name: nextcloud hostname: nextcloud network_mode: # so instances can talk to each other by name instead of IP, set them all on the same network_mode environment: - PUID=1000 - PGID=1000 - TZ=America/Toronto # set as appropriate - PHP_UPLOAD_LIMIT=8G # no need to futz with configs to fix the upload limit - PHP_MEMORY_LIMIT=8G # same as above - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_HOST_PASSWORD= volumes: - /local/path/nextcloud/config:/config - /local/path/nextcloud/data:/data depends_on: - postgres restart: unless-stopped collabora: image: collabora/code container_name: collabora hostname: collabora network_mode: stacks ports: - 9980:9980 environment: - domain= #Optional - username= #Collabora username, make this up - password= #Collabora password, make this up # env_file: code.env depends_on: - nextcloud restart: unless-stopped postgres: image: postgres container_name: postgres hostname: postgres network_mode: # See above environment: - PUID=1000 - PGID=100 - POSTGRES_PASSWORD= # generate a password - TZ=America/Edmonton # set as appropriate #- POSTGRES_PASSWORD #- POSTGRES_USER #- POSTGRES_DB #- POSTGRES_INITDB_ARGS #- POSTGRES_INITDB_WALDIR #- POSTGRES_HOST_AUTH_METHOD - PGDATA = "/var/lib/postgresql/data" # I CANNOT STRESS THE IMPORTANCE OF THIS AND THE VOLUME volumes: - /local/path/postgres/postgres:/var/lib/postgresql - /local/path/postgres/data:/var/lib/postgresql/data # Without EXPLICITLY declaring a Data folder, you risk losing your stuff in the docker_volumes graveyard, or worse pruning, because WOW restart: unless-stopped adminer: image: adminer container_name: adminer hostname: adminer network_mode: # See above ports: - 12345:8080 # Because you're likely to have other things running on that path port already. restart: unless-stopped redis: image: redis container_name: redis hostname: redis network_mode: # See above environment: - PUID=1000 - PGID=100 - TZ=America/Edmonton command: redis-server --requirepass restart: unless-stopped