crazy-max/docker-nextcloud

Nextcloud broken after upgrade to the latest version

aronmgv opened this issue · 4 comments

After upgrading nextcloud it started giving me this error message:

image

Whole directory is recursively root:root and 777..

And why after upgrade it initialised my config.php to the default values??? my whole config is now lost..

See CHANGELOG about latest changes

Thanks for quick reply.. Can you please be more specific?

Per changelog and provided docker-compose.yml example I suspect data/ to be nextcloud/ on host:

docker-compose stop
chown -R ${PUID}:${PGID} data/
docker-compose pull
docker-compose up -d

So I changed the nextcloud and data folder (from config.php /data/data) to be PUID:PGID and still same error..

docker-compose.yml:

version: "3.7"

services:
  nextcloud:
    container_name: nextcloud.524
    image: crazymax/nextcloud:latest
    restart: always
    depends_on:
      - postgres
      - redis
    volumes:
      - "$PWD/nextcloud:/data"
      - "/lvm/raid/public/nextcloud/data/:/data/data"
      - "/lvm/raid/private/backups/:/mnt/private/backups"
      - "/lvm/raid/private/data/:/mnt/private/data"
      - "/lvm/raid/private/drive/:/mnt/private/drive"
      - "/lvm/raid/private/media/:/mnt/private/media"
      - "/lvm/raid/public/backups/:/mnt/public/backups"
      - "/lvm/raid/public/drive/:/mnt/public/drive"
      - "/lvm/raid/public/ftp/:/mnt/public/ftp"
    labels:
      - "com.ouroboros.enable=true"
      - "traefik.enable=true"
      - "traefik.port=8000"
      - "traefik.frontend.entryPoints=https"
      - "traefik.frontend.rule=Host:cloud.**********************.com"
      - "traefik.frontend.redirect.permanent=true"
      - "traefik.frontend.redirect.regex=https://(.*)/.well-known/(card|cal)dav"
      - "traefik.frontend.redirect.replacement=https://$$1/remote.php/dav/"
      - "traefik.backend=nextcloud.524"
      - "traefik.frontend.headers.forceSTSHeader=true"
      - "traefik.frontend.headers.STSSeconds=315360000"
      - "traefik.frontend.headers.STSIncludeSubdomains=true"
      - "traefik.frontend.headers.STSPreload=true"
    environment:
      - PUID=1000
      - PGID=994
      - USERID=1000
    env_file:
      - "./nextcloud.env"
  
  postgres:
    container_name: nextcloud.524.postgres
    image: postgres:11
    restart: always
    expose:
      - 5432
    volumes:
      - $PWD/postgres:/var/lib/postgresql/data
    environment:
      - PUID=1000
      - PGID=994
      - USERID=1000
      #- POSTGRES_DB=nextcloud
      #- POSTGRES_USER=nextcloud
      #- POSTGRES_PASSWORD=**********************
      #docker exec -it nextcloud.524.postgres bash
      #su postgres
      #createuser -P nextcloud
      #createdb -O nextcloud nextcloud

  adminer:
    container_name: nextcloud.524.adminer.82
    image: adminer
    restart: always
    ports:
      - 52482:8080

  redis:
    container_name: nextcloud.524.redis
    image: redis:4.0-alpine
    restart: always

  collabora:
    container_name: nextcloud.524.collabora
    image: collabora/code
    restart: always
    cap_add:
      - MKNOD
    expose:
      - 9980
    labels:
      - "com.ouroboros.enable=true"
      - "traefik.enable=true"
      - "traefik.port=9980"
      - "traefik.frontend.entryPoints=https"
      - "traefik.frontend.rule=Host:collabora.cloud.**********************.com"
      - "traefik.backend=nextcloud.524.collabora"
      - "traefik.frontend.headers.forceSTSHeader=true"
      - "traefik.frontend.headers.STSSeconds=315360000"
      - "traefik.frontend.headers.STSIncludeSubdomains=true"
      - "traefik.frontend.headers.STSPreload=true"
    environment:
      - "domain=cloud.**********************.com"
      - "DONT_GEN_SSL_CERT=true"
      - "extra_params=--disable-ssl"
      #- "extra_params=--o:ssl.enable=false"

  cron:
    container_name: nextcloud.524.cron
    image: crazymax/nextcloud:latest
    restart: always
    depends_on:
      - nextcloud
    volumes:
      - "$PWD/nextcloud:/data"
      - "/lvm/raid/public/nextcloud/data/:/data/data"
    #command:
    #  - "/usr/local/bin/cron"
    env_file:
      - "./nextcloud.env"
    environment:
      - "SIDECAR_CRON=1"
      - "CRON_PERIOD=*/15 * * * *"

  news_updater:
    container_name: nextcloud.524.news_updater
    image: crazymax/nextcloud:latest
    depends_on:
      - nextcloud
    volumes:
      - "$PWD/nextcloud:/data"
      - "/lvm/raid/public/nextcloud/data/:/data/data"
    env_file:
      - "./nextcloud.env"
    environment:
      - "SIDECAR_NEWSUPDATER=1"
      - "NC_NEWSUPDATER_THREADS=10"
      - "NC_NEWSUPDATER_TIMEOUT=300"
      - "NC_NEWSUPDATER_INTERVAL=900"
      - "NC_NEWSUPDATER_LOGLEVEL=error"
    restart: always

Thanks, Michal

Had to do it from scratch and lost all my settings.. very poor description from the project side how to handle this.. Next time include some automated script to automate the all hassle around and properly test it..

@MacGyver27

Per changelog and provided docker-compose.yml example I suspect data/ to be nextcloud/ on host:

If you use another bind mount on your host yeah of course. I will not cover all cases :)
Looking at your compose it should be:

docker-compose stop
chown -R 1000:994 ./nextcloud
docker-compose pull
docker-compose up -d

Had to do it from scratch and lost all my settings..

In my opinion, you didn't need to start from scratch. Especially since now you don't know the cause of your problem that could reappear....