jlloyola / pcloudcc_docker

Docker image for pcloud console client
GNU General Public License v3.0
15 stars 1 forks source link

how to share the pcloud mount with other containers #1

Open milsanore opened 5 months ago

milsanore commented 5 months ago

tl;dr Any suggestions on how to share the pcloud mount with other containers? Can I pass fuse arguments as env vars to this container?

Hi, thank you for putting this repo together, it helped me run pcloud on my raspberry pi.

I would like to also run syncthing on my server (in docker), so that i can synchronise a pcloud folder to a folder on my phone. It sounds crazy, but pcloud cannot do this (nor the other cloud storage providers, including any "offline" availability options).

That means that I need to mount a pcloud subfolder in my syncthing container, and then share it with my phone. For example:

syncthing:
  container_name: syncthing
  image: syncthing/syncthing:latest
  volumes:
    - syncthing-config:/config
    - ~/syncthing-sync:/var/syncthing
    # THIS BADBOY šŸ‘‡
    - ~/pcloud:/opt/pcloud

However, starting this container fails with the error: Error response from daemon: error while creating mount source path '/home/user/pcloud': mkdir /home/user/pcloud: file exists

It turns out that because the pcloud directory is a fuse mount, trying to mount it inside another container is a little tricky. I think the fuse volume needs to be mounted with the allow_root option:

It seems this is really a pcloudcom/console-client issue. I saw your comment here: https://github.com/pcloudcom/console-client/issues/184 Any suggestions on how to share the pcloud mount with other containers? Thank you šŸ™

jlloyola commented 5 months ago

I haven't tried mounting the pcloud volume in more than one container. I created this image to be able to access pcloud from a raspberry pi (like in your case). Running the container as root will cause file permission issues between the host and the container. Some ideas to try out: