Lots of broken stuff... not a single docker compose reference I found that worked. Been spending a day just trying to make nextcloud + mariadb work. (Edit for additional context: The official now unofficial documentation from Nextcloud is not functional and has caused the troubleshooting "adventure": https://github.com/nextcloud/docker/?tab=readme-ov-file#base-version---apache)
If anybody can share a working docker-compose file (with image tags), you'll be saving a soul. Otherwise, I can't be spending any more time on nextcloud :(
SOLVED: This is what worked for me after trying different versions and docker images.
Nextcloud: lscr.io/linuxserver/nextcloud:28.0.4 (the latest = v29 has breaking changes with mariadb and causes internal server error during installation)
MariaDB: lscr.io/linuxserver/mariadb:10.11.8
Here's the working docker compose file with nginx proxy manager. I use 4430:4434 for SSH reverse tunnel, but port 80 on localhost should be just fine
services: nginxproxymanager: image: 'docker.io/jc21/nginx-proxy-manager:2.11.3' container_name: nginxproxymanager restart: always environment: - TZ=Asia/Seoul ports: - '80:80' - '81:81' - '443:443' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt nextcloud: image: lscr.io/linuxserver/nextcloud:28.0.4 # latest breaks container_name: nextcloud environment: - PUID=1000 - PGID=1000 - TZ=Asia/Seoul volumes: - ./nextcloud/config:/config - /path/to/data:/data ports: - 4430:443 restart: always depends_on: - nextcloud-db nextcloud-db: image: lscr.io/linuxserver/mariadb:10.11.8 # pinned for sanity container_name: nextcloud-db environment: - PUID=1000 - PGID=1000 - TZ=Asia/Seoul - MYSQL_ROOT_PASSWORD= - MYSQL_DATABASE= - MYSQL_USER= - MYSQL_PASSWORD= volumes: - ./nextcloud-db/config:/config ports: - 3306:3306 restart: always
TIP + DISCLAIMER: The All-in-One (AIO) installation and corresponding docker image is currently the OFFICIAL one. Read better... don't be like me. Others seem to find AIO's ballooning logs an issue (see comments) so use your own discretion.