GathererStuff

joined 1 week ago
[–] GathererStuff@lemmy.ml 1 points 1 week ago

I have already tried that. It doesn't work, the cloud folder is empty on the host.

[–] GathererStuff@lemmy.ml 1 points 1 week ago (1 children)
[–] GathererStuff@lemmy.ml 1 points 1 week ago (3 children)

I am using the binary. Just running it inside a container instead of a VM.

overlay fs?

Yes.

[–] GathererStuff@lemmy.ml 1 points 1 week ago (5 children)

Since originally writing the post I have switched to a rootless podman container. Running it how I did before (inside a VM) would simply yield user_id=1000,group_id=1000 I think.

[–] GathererStuff@lemmy.ml 1 points 1 week ago (7 children)

rw,nosuid,nodev,relatime,user_id=0,group_id=0

[–] GathererStuff@lemmy.ml 1 points 1 week ago* (last edited 1 week ago)

I don’t understand what you mean with the content disappearing when you mount the virtiofs on the guest - isn’t the mount empty when bound, untill the guest populates it?

Sorry I made a mistake in the original post. I wanted to say on the host instead of on the guest. My bad.

Yes, you are correct, the folder is empty until I log in insde the cloud application on the guest.

does it require local storage or support remote?

What do you mean? The cloud drive is a network drive basically. It only downloads files on demand.

if guest os is linux, nfs will probably do

This is what others have suggested and what I will probably do if the method below fails.

podman/docker seems to be the proper tool for you here

Yesterday I actually tried to spin a podman container hoping it would work but I encountered the following problem when trying to propagate mounts: https://lemmy.ml/post/22215540

Could you please assist me there if you have further ideas? Thank you :)

Keep in mind that a screwup could be interpreted by the sync client as mass-deletes

I am VERY aware of this *sweating*

[–] GathererStuff@lemmy.ml 1 points 1 week ago

This is what I have been trying for the past two days actually: https://lemmy.ml/post/22215540 Could you please assist me there if you have an idea? Thanks :)

 

Hi everyone! I want to be able to access a (fuse-type) cloud drive mounted inside a container as the binary is proprietary and I do not want to mount it on the host for security and privacy purposes. I have tried to quickly spin a podman container and bind the folder that corresponds with the drive with the rshared flag but the folder appears to be empty on the host while inside the container it works just fine.

I am running the following commands:

$ podman unshare mount --make-shared --bind /clouddrive /clouddrive
$ podman run -i -t --cap-add=sys_admin --network host \
	--security-opt label=type:container_runtime_t \
	-v /cloudbinary:/bin/cloudbinary:ro \
	-v /clouddrive:/clouddrive:shared \
	--device /dev/fuse:/dev/fuse \
	-v /bin:/bin:ro \
	-v /lib64:/lib64:ro \
	--privileged --name=name image /bin/bash

Inside the rootless container I run:

# cloudbinary login username
<enter password>
<successful login>
# ls /clouddrive
file1 file2 file3

But on the host /clouddrive is empty:

$ ls /clouddrive
<nothing>

Running findmnt -o TARGET,PROPAGATION /clouddrive inside the container yields:

TARGET      PROPAGATION
/clouddrive shared,slave

Running findmnt -o TARGET,PROPAGATION /clouddrive on the host yields:

TARGET      PROPAGATION
/clouddrive shared,slave

I have almost no prior experience with podman but I read something about how a rootless container might not work because the user and group owning the folder is not the right one. Does anybody have an idea on how to fix this? Thank you.

Update: It seems the cloud binary is unmounting any drive with the same name at startup and mounting it's own drive. Would that be a problem? Running findmnt still shows shared but the slave label has disappeared after the binary mounts it's own drive. Is there anyway to "reshare" it at runtime/dynamically?

[–] GathererStuff@lemmy.ml 0 points 1 week ago (9 children)

do you need them all at the same time?

I need to access all files conveniently and transparently depending on what I need at work in that particular moment.

are they mostly the same size and type?

Hard no.

[–] GathererStuff@lemmy.ml 0 points 1 week ago* (last edited 1 week ago) (2 children)

Why not NFS? Regardless, wouldn't it be slower anyway compared to virtiofs?

[–] GathererStuff@lemmy.ml 0 points 1 week ago (11 children)

strace can be very verbose and requires a lot of knowledge that i doubt i can share through comments back and forth.

No worries. Thank a lot nonetheless.

is creating an intermediary like others have commented on in this post an option?

What do you mean by intermediary? Do you mean syncing the files with the VM and then sharing the synced copy with the host?That wouldn't work since my drive is smaller than the cloud drive and I need all the files on-demand.

[–] GathererStuff@lemmy.ml 0 points 1 week ago (2 children)

It does not, hence my question.

 

Hi everyone! I want to be able to access a folder inside the guest that corresponds to a cloud drive that is mounted inside the guest for security purposes. I have tried setting up a shared filesystem inside Virt-Manager (KVM) with virtiofs (following this tutorial: https://absprog.com/post/qemu-kvm-shared-folder) but as soon as I mount the folder in order for it to be accessible on the ~~guest~~ host the cloud drive gets unmounted. I guess a folder cannot have two mounts at the same time. Aliasing the folder using bind and then sharing the aliased folder with the host doesn't work either. The aliased folder is simply empty on the host.

Does anyone have an idea regarding how I might accomplish this? Is KVM the right choice or would something like docker or podman better suited for this job? Thank you.

Edit: To clarify: The cloud drive is mounted inside a virtual machine for security purposes as the binary is proprietary and I do not want to mount it on the host (bwrap and the like introduce a whole lot of problems, the drive doesn't sync anymore and I have to relogin each time). I do not use the virtual machine per se, I just start it and leave it be.

view more: next ›