Nextcloud only seeing 1Tb out of 3.7TB (docker on windows)

I am currently running Nextcloud on a Docker on a Windows 11 machine.
I installed docker and nextcloud on my 4TB Hdd (3x HDDs on a raid 5)
Looking at nextcloud admin settings, it says total storage is only 1TB.

I haven’t done much yet since I am a complete noob at this and I can only follow instructions. Can anyone help me give nextcloud access to the whole 4tb? (or around 3.7 TB)

Only catch is, on the same drive, there’s about 1TB of files that I want to add into nextcloud anyway.

Attaching screenshots for reference. If anyone can please help me I would greatly appreciate it.

Screenshot 2023-09-01 235922
Screenshot 2023-09-02 000034
Screenshot 2023-09-02 000109

Hi @miggill,

Form the image of the mounts it looks like your secondary drive is NOT mounted as a drive on the docker image.

The 1TB is the size of the max size of the docker container, you can increase docker container size.

Alternatively you could mount your secondary drive as a drive in the docker image. Here is link.

Hey @sebastiank, thank you so much. A few things though.

  1. How do I increase the docker container size?

  2. I want to just do a fresh install so that Docker and Nextcloud is on my C drive, and add my D drive (the 3.7 TB one) as additional storage. I assume that will be done by enabling external storage on nextcloud.

I’ve tried doing that but I am having trouble understanding the command.

docker volume create --driver local --opt type=none -opt device=/mnt/sdc --opt o=bind myvolume

As it is, I’m trying to do a fresh install now since I dont have anything on it yet it’ll be easier just to start again but still figuring out how to add external storage

Also probably worth sharing this. I can’t, for the life of my noob ass, figure out how to do this haha so right now, I redid everything, did default install for docker and nextcloud. Would you happen to know the exact commands I can use? I’ve been at this for the 4th day now without any luck.

I was able to create the volume, but I dont know how to attach my hdds to that and how to mount it

a few things:

  1. I can’t figure out how to add my 4tb drives as storage in nextcloud
  2. I dont know why nextcloud isnt showing me the individual disks in the system settings.
  3. I don’t know why I cannot see my 4TB drive as one after using lsblk

image

Morning @miggiii

Looks lilke you are getting a crash course in Linux.

  1. The second drive has to be mounted inside the docker image.
  2. the second disk is not showing on nextcloud because nextcloud is running on a isolated docker image that does not know anything about the host system (your windows machine).
  3. same reason as point number 2

This command needs to be run on your windows machine, you are telling the docker host to add an external drive to a docker guest machine.

On windows it should look something like this,

docker volume create --driver local --opt type=none -opt device=D:\dockerdata --opt o=bind mydatadrive

Then you will need to modify the run command in docker host to automatically add the new volume to nextcloud. You will need to add the following to the run command.

-v mydatadrive:/data

The -v mydatadrive:/data means “(the volume to mount):(the location where to mount it inside the docker image)”

Sebastian

1 Like

Morning, @sebastiank! Thank you lots again, you’ve been the most help i’ve gotten so far.

for point 1. that does make sense, I was just confused since nextcloud is saying “2 storages” so I assumed it can see the drives in some way.
I really have very little idea since I’ve only started this mini project this past week and most trouble I had was most people dont know have experience running nextcloud on docker in windows, mostly ubuntu or other linux based OSs.

a few more things:

  1. could you help me understand what are the drives I can see when I run lsblk?
  2. So I tried running that command and powershell comes back with an error.
docker volume create --driver local --opt type=none -opt device=D:\dockerdata --opt o=bind mydatadrive

@sebastiank so here’s an update, I tweaked the command a tiny bit and I think it worked? I replaced “D:\dockerdata” with /d/ddrive and I it created a new volume in Docker, and I can see a folder in my D drive named “ddrive”.

  1. Does that mean it worked? or is there a better way to validate?
  2. I realize I tried running “-v mydatadrive:/data” as a command instead of adding it to the docker run command. But how exactly do I add that?
  3. can you please advise on the next steps? I’m scared playing around too much with commands will break something and I’m on my 4th fresh start already haha

Hey @miggiii

So I’ll be honest docker on windows is a pain in the @$#@#$. I am a sys admin with lots of years of experience with windows and linux and docker on windows still makes me face palm every time i use it. You would be better off installing VirtualBox (https://www.virtualbox.org/) and then running Nextcloud as an Virtual Machine (Index of /aio-vm). VirtualBox supports mounting bare drives on Virtual Machines.

Alternatively, you can try doing a reinstall of the NC AIO image but this time use this command from the windows console,

docker run --sig-proxy=false --name nextcloud-aio-mastercontainer --restart always --publish 80:80 --publish 8080:8080 --publish 8443:8443 --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config --volume //var/run/docker.sock:/var/run/docker.sock:ro -e NEXTCLOUD_DATADIR="/run/desktop/mnt/host/f/ncdata" nextcloud/all-in-one:latest

Change the ‘NEXTCLOUD_DATADIR’ at the end to something like /run/desktop/mnt/host/d/ncdata, the last part ‘/d/ncdata’ is the windows location in linux format. “D:\ncdata” = “d/ncdata”

I just tested this and it worked for me.

Sebastian

1 Like

@miggiii forgot to mention one more thing… make sure the directory exists on your windows machine first! :wink:

@sebastiank yeah I’ve heard lots of fun stuff docker brings lol. I’ll definitely look into virtualbox, but will probably park this project right now in that case. I really just follow instructions and learning a new route entirely would need a bit of time for me.

I am also looking into NC Aio but not really sure how to work it since I can’t find too much instructions online about it.

Anyways, thank you lots for the help, really appreciate it

@miggiii your welcome. Also, didn’t want to discourage, you from getting this up and running. Just wanted to share my experience with docker.

FYI, that command I posted in my last reply should get you up and running, the way you want.

As for documentation, yeah, I get it, even I struggle with finding documentation. That’s one big thing about open source, we make the software, but aren’t great at documenting it, documentation is more like an optional thing LOL.

Anyway, you’re welcome. Good Luck.

1 Like

hey @sebastiank, was hoping to get your thoughts on this. So while trying to figure out solutions for this thread still. I’m also looking for other options.

What would you recommend as the best OS to run Nextcloud on?
(most common ones I see is Truenas core, Ubuntu, Debian)
I think ideally, it would be the most well-balanced option: more beginner friendly in the very least.

For full context, what I want to do now is something very basic I think. I just want nextcloud to be my personal cloud. and Plex to stream movies. The thing is, I want both plex and nextcloud to run from the same storage pool.

Once I have those two up and running without issues, I might explore other homelab/server stuff.

Morning @miggiii

My preferred OS for all things linux is Debian or Ubuntu which is based on Debian.

As for home lab/testing and even production systems, I have one word for you, Proxmox. Its a hypervisor based on Debian, supports full virtual machines (Linux, Windows, Etc), or LXC containers (Light weight linux installation). It supports everything from raw drives, to storage clusters, it can do 1TB of storage to 1PB+. It also has prebuilt containers from Turn-Key linux for a Nextcloud, Plex, and a bunch or other things.

There might be other solutions out there, but I’ve found these to be the most flexible and reliable.

Sebastian

1 Like

@sebastiank that’s really helpful, thank you! yeah, I think the most struggle I have right now is trying to avoid going deep into any learning I have to do with Linux based stuff. But I think there’s no way around it. Will definitely look into Proxmox! I’ve read lots of great stuff on it, just wanted to get a direct opinion on it.

Thanks again!

1 Like

@sebastiank I’ve been reading through this thread as I’m experiencing a similar issue… only difference is my setup is two 2TB SSDs and I want NextCloud to use one of the 2 that is not where windows is installed.

I followed along through this as best as I could and I seem to be on the right track with a couple weird things:

  1. my folder was created on the second SSD as ncdata -v mydatadrive . I’m guessing I did something wrong in the docker config. (It’s pasted below)
  2. NC still shows as only having 1TB available, but it shows a /data folder with 1.86TB available. If I upload any files to NC, neither of those numbers seem to change and the file I uploaded is not showing in the folder that was created on the SSD.

In the screenshot, you can see the volumes that are appearing in docker and the one that i highlighted is the one that changes when I upload data.

data

folder


version: “2”
services:
app:
depends_on:
- db
environment:
- MYSQL_PASSWORD=
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
image: nextcloud
links:
- db
ports:
- “8080:80”
restart: always
volumes:
- “/run/desktop/mnt/host/e/ncdata -v mydatadrive:/data”
db:
command: “–transaction-isolation=READ-COMMITTED --binlog-format=ROW”
environment:
- MYSQL_ROOT_PASSWORD=
- MYSQL_PASSWORD=
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
image: “mariadb:10.5”
restart: always
volumes:
- “/path/to/db:/var/lib/mysql”

HI @scotty3x3 ,

Are you setting this up on Windows Docker?

But I believe this line,

Should look something like this,

- /run/desktop/mnt/host/e/ncdata:/mnt/ncdata:rw

The format in the previous post was for installing NC AIO from the windows console, and is not meant to be used in a docker config.

If you are using docker on windows, remove your current containers, images, volumes and run this command from the windows command line.

docker run --sig-proxy=false --name nextcloud-aio-mastercontainer --restart always --publish 80:80 --publish 8080:8080 --publish 8443:8443 --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config --volume //var/run/docker.sock:/var/run/docker.sock:ro -e NEXTCLOUD_DATADIR="/run/desktop/mnt/host/e/ncdata" nextcloud/all-in-one:latest

Sebastian

@sebastiank Yes, this is being installed through Docker on Windows.

Does this remove the install I already have and replace it with AIO? If so, I don’t think I can do this because I access my NC remotely through cloudflare tunnels and I read that is not possible with AIO?

Hey @scotty3x3 ,

So I have NOT tried your type of setup, but I don’t see why AIO would not work through a tunnel. As long as your external domain points to the IP address you are trying to use everything should work with AIO.

But since you have a custom setup it would be hard to help you with the external drive. I can only point you in the right direction. You basically need to mount the extra drive to your nextcloud container under “/mnt/ncdata”. Basically, need to make docker map, “/run/desktop/mnt/host/e/ncdata” to “/mnt/ncdata” inside the main container, for AIO that container is “nextcloud-aio-nextcloud”.

Sebastian