NCP docker - I'm getting stuck at "Initializing NextCloudPi for the first time Please wait" when using external drive [Solved]

I installed NCP using docker and changed my default storage location to /mnt/usbhdd/docker by adding “data-root” to the /etc/docker/daemon.json and I can confirm that NCP works fine and does activate in the default location but after it’s changed to my external drive everything looks fine but it just sits there when I click activate.

Container Log

Initializing empty volume…,
Making /usr/local/etc/ncp-config.d persistent …,
Making /etc/services-enabled.d persistent …,
Making /etc/letsencrypt persistent …,
Making /etc/shadow persistent …,
Making /etc/cron.d persistent …,
Making /etc/cron.daily persistent …,
Making /etc/cron.hourly persistent …,
Making /etc/cron.weekly persistent …,
Making /usr/local/bin persistent …,
Making /etc/apache2 persistent …,
Starting PHP-fpm,
Starting Apache,
Starting mariaDB,
2020-03-14 22:47:09 0 [Note] mysqld (mysqld 10.3.18-MariaDB-0+deb10u1) starting as process 224 …,
Starting Redis,
Starting Cron,
Starting Postfix,
Uninitialized instance, running nc-init…,
Running nc-init,
Setting up a clean Nextcloud instance… wait until message ‘NC init done’,
Setting up database…,
Setting up Nextcloud…,
Nextcloud was successfully installed,
Set mode for background jobs to ‘cron’,
System config value tempdirectory set to string /var/www/nextcloud/data/tmp,
System config value mysql.utf8mb4 set to boolean true,
System config value trusted_domains => 11 set to string,
System config value trusted_domains => 1 set to string,
System config value trusted_domains => 5 set to string nextcloudpi.local,
System config value trusted_domains => 7 set to string nextcloudpi,
System config value trusted_domains => 8 set to string nextcloudpi.lan,
System config value mail_smtpmode set to string sendmail,
System config value mail_smtpauthtype set to string LOGIN,
System config value mail_from_address set to string admin,
System config value mail_domain set to string,
nextcloudpi enabled,
calendar installed,
calendar enabled,
contacts installed,
contacts enabled,
notes installed,
notes enabled,
tasks installed,
tasks enabled,
news installed,
news enabled,
calendar enabled,
contacts enabled,
notes enabled,
tasks enabled,
news enabled,
previewgenerator enabled,
Config value squareSizes for app previewgenerator set to 32 256,
Config value widthSizes for app previewgenerator set to 256 384,
Config value heightSizes for app previewgenerator set to 256,
System config value preview_max_x set to string 2048,
System config value preview_max_y set to string 2048,
System config value jpeg_quality set to string 60,
Config value jpeg_quality for app preview set to 60,
System config value overwriteprotocol set to string https,
Following columns will be updated:,

  • mounts.storage_id,
  • mounts.root_id,
  • mounts.mount_id,
    This can take up to hours, depending on the number of files in your instance!,
    NC init done,
    System config value trusted_domains => 1 set to string,
    Provisioning Redis password,
    Updating NextCloud config with Redis password,
    Provisioning MariaDB password,
    Updating NextCloud config with MariaDB password,
    Running nc-limits,
    Using 1499707392B for PHP,
    Using 4 PHP threads,
    Using 799843942 memory for the database,
    Stopping MariaDB database server: mysqld.,
    Starting MariaDB database server: mysqld …,
    Stopping redis-server: redis-server.,
    Starting redis-server: redis-server.,,

As you can see it gets to NC init done fine and it appears fine, I’m guessing it’s some sort of permissions issue? I tried chmod 775 on the docker folder but that didn’t change anything.
Also, here’s my fstab, it looks ok to me but I must be doing something wrong and I don’t know what…

UUID=23935535-8bd8-4216-88b3-0d9dcdc3b0a3 /mnt/usbhdd ext4 auto,suid,dev,rw,users,exec,async,nofail,x-systemd.device-timeout=30 0 0

Edit: I solved my issue by loading up Linux Mint and reformatting the drive using gparted then making a new docker folder all through the GUI so there’s pretty much no way I could screw it up and now it works as I intended it to.

It’s not a solution to my problem but if I run docker with its defaults and use the recommended method of changing the data location “docker run -v /mnt/usbhdd/ncdata:/data” then that does technically achieve what the result I wanted, however I still prefer moving my default docker data folder because you know it saves space and writes on the sd card.