Insufficient disk space

I couldn’t copy 1.5 GB of data into Nextcloud of my admin user with unlimited quota setting.
I have more than 100 GB of available space on the mounted data folder on my Raspberry.
First, I had 779 MB of free space according to the System menu of Administration settings, then I changed my user’s quota to be 5 GB.

This is what I get now in System:

Disk
You will get a notification once one of your disks is nearly full.
Files: 1140
Storages: 3
Free Space: -1891024896 B

I have docker, all mounted folders on the same physical drive (>100 GB free space), it is the same inside the container.

Thanks for any help!

What version of NC?

What Raspberry Pi?

If it’s a 4, have you upgraded it to a 64-bit OS or is still running a 32-bit variation?

I think you are on the right path.
NC is 26.0.1. Latest of the docker repo.
I have a RPi 4 and has the 64-bit kernel, but I think the user space is 32-bit only. Don’t really understand this part.
Some containers could pull and use the linux/arm64 platform images, e.g. photoprism or mariadb (arm64v8/mariadb), but nextcloud could only start up with linux/arm/v7 platform ones.

I include here some details:

services:
  nextcloud:
    container_name: nextcloud
    restart: unless-stopped
    image: nextcloud:latest
    platform: linux/arm/v7
    ports:
      - 8080:80 #Port change
    environment:
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=secretpw
      - POSTGRESQL_HOST=db
    volumes:
      - ~/nextcloud/apps:/var/www/html/apps
      - ~/nextcloud/config:/var/www/html/config
      - /storage/cloud:/var/www/html/data
      - ~/nextcloud/html:/var/www/html
    depends_on:
      - db
  db:
    image: postgres:latest
    container_name: postgres
    restart: unless-stopped
    environment:
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=secretpw
    ports:
      - '5432:5432'
    volumes:
      - ~/nextcloud/db:/var/lib/postgresql/data
  redis:
    image: arm32v7/redis
    platform: linux/arm/v7
    container_name: redis
    restart: unless-stopped
    command: redis-server --save 20 1 --loglevel warning --requirepass secretpw>
    ports:
      - "6379:6379"
    volumes:
      - ./docker/redis/data:/data
    networks:
      - database
volumes:
  portainer_data:
    external: true
  files:
    driver: local
  mysql:
    driver: local
  redis:
    driver: local
networks:
  database:
    external: true
  default:
    name: database
    attachable: true
x@host:~/docker $ uname -a
Linux host 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux
x@host:~/docker $ docker run -it nextcloud bash

root@71b6d681c22d:/var/www/html# getconf LONG_BIT
32
root@71b6d681c22d:/var/www/html# uname -m
aarch64
x@host:~/docker $ sudo cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

/boot/config.txt:

#This is needed for docker 64 bit images:
arm_64bit=1
x@host:~/docker $ docker info
Client: Docker Engine - Community
 Version:    24.0.1
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.10.4
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.18.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 7
  Running: 6
  Paused: 0
  Stopped: 1
 Images: 7
 Server Version: 24.0.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8
 runc version: v1.1.7-0-g860f061
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.1.21-v8+
 Operating System: Raspbian GNU/Linux 11 (bullseye)
 OSType: linux
 Architecture: aarch64
 CPUs: 4
 Total Memory: 3.533GiB
 Name: x
 ID: 4470b191-969a-485b-ae67-34610ccfa715
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No memory limit support
WARNING: No swap limit support

I get the following error message…

x@host:~/docker $ docker compose up -d --build
image with reference nextcloud:latest was found but does not match the specified platform: wanted linux/arm64, actual: linux/arm/v7

…when I specify these lines in the docker-compose.yml file. changing to arm64 architecture:

    platform: linux/arm64
#    platform: linux/arm/v7

Which is strange, as arm64 works with everything else (mariadb, photoprism, portainer), except redis and nextcloud.

Redis only works with this config:

  redis:
    image: arm32v7/redis
#    image: redis:latest
    platform: linux/arm/v7
#    platform: linux/arm64

MariaDB works with the following:

  mariadb:
    image: arm64v8/mariadb:latest
    container_name: mariadb
    platform: linux/arm64

I also added this environmental variable:

x@host:~/docker $ export
declare -x DOCKER_DEFAULT_PLATFORM="linux/arm64"

There is a full 64-bit version of the Raspberry Pi OS. It sounds like maybe you upgraded the kernel to avoid having to reinstall?

I understand why: there’s no formal way to switch to the 64-bit edition without reinstalling. But then you end up with situations like this. :slight_smile:

That’s what I did finally. I installed Ubuntu arm64 on the Pi. It was a mess to configure the Postgres, so I finally went back to SQLite, then when I checked the System menu it show postgres being used. Interesting.
Anyways, works now. Thanks!

1 Like