Solved Nextcloud data location - only on volume?
nottheend last edited by girish
after reading through a couple of threads related to data locstion of nextcloud there remain a few questions. I am not deeply into nextcloud config and I may have mis-interpreted something.
What I did:
Configured the nextcloud app in a way that it saves all data on that external volume. It also showed 'moving files' etc
All data, which are being added to Nextcloud App after installation are being moved to that external volume.
Also the files on the local disk of cloudron get modified in the same way like the external volume
My overall goal:
- all Nextcloud data should be stored on a volume which is globally (in cloudron instance) mapped to Amazon EFS
Could you please give me a hint what I am missing here?
Are you using the external storage plugin in Nextcloud itself or have you moved the data location of your app instance via Cloudron dashboard?
Also can you be a bit more specific about the actual behavior you were describing? Do you end up with copies of the data on two disks or something like this?
Thanks for replying! After checking, I have done the following:
- mounting an EFS storage it in the compute instance (EC2) where cloudron is running
- afterwards I mounted the the drive (which is already mounted on the compute instance) in cloudron via the volume menu point as 'filesystem'
- changed the configuration of nextcloud to use the newly mounted volume
Data of nextcloud is only stored on EFS.
But when I access the volume via cloudron filemanager in /mnt/efs/fs1 I see the same files as on /app/data/nextcloudusername
Could give me a hint what I am missing here?
I hope it is more clear. If not, please let me know
@nottheend so if you talk about
/app/data/nextcloudusernamethan this is the perspective from within the app, however the EFS storage is mounted on the host system, or have I misunderstood you?
Also have you reconfigured nextcloud's data storage via the Cloudron dashboard or otherwise?
Please note that apps on Cloudron run in their isolated containers, so the filesystem within the app is different from the host filesystem and only selected host paths will be mounted into the app container.
Yes! I was talking about the data nextcloud location.
I have mounted the EFS storage on the host system but I also reconfigured the nextcloud's data storage via the Cloudron Dashboard (in the nextclouds app configuration section 'storage')
And thanks for the reminder about the containers and the selective paths only in the apps container. That clarifies a lot.
That means the only issue is that I obviously not correctly mounted EFS for cloudron. I have mounted it on the EC2 instance (computing engine) on /mnt/efs/fs1
Apart feom that I configured everything in Cloudrons Dashboard.
In global Cloudron Configuration 'Volumes' I selected 'filesystem' as a type, since my umderstanding is that the EFS is mounted there already.
Do you have a suggestion how to mount EFS correclty? (I searched among this forum but couldn't find something which was fitting and I know it is not directly related to cloudron)
@nottheend using the filesystem type for the volume is the correct thing here, also the disk, if configured like this will most likely be setup and mounted by aws in this case. So this leaves the question what your outstanding issue then is?
@nebulon thank you very much for taking time understanding this issue and confirming. The outstanding issue is, that there is no data written on EFS drive.
Do you have one more idea how to debug this?
@nottheend please confirm that the EFS mountpoint exists and is mounted on your host system (from what you said previously this is the case) and then you can double check the mounts into the app by using
docker inspect <appcontainerid>it should mount that host path into
/app/datainto the container.
nottheend last edited by nottheend
@nebulon Thank you. After checking, it turned out that the issue is about efs not mounted.
It seems to be messed up with security groups and/or network interfaces (eni). Hence closing this threat for now. Need to dig deeper and probably understand the concepts of security groups and eni better in AWS.
Thanks for your help!
Edit: Just realizing that can't set it to 'solved'