diff --git a/nc-complete.yml b/nc-complete.yml new file mode 100644 index 0000000..be940cb --- /dev/null +++ b/nc-complete.yml @@ -0,0 +1,83 @@ +#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 \ No newline at end of file