Установка докера удаленное постоянное хранилище rw

#docker #volume #nextcloud #sshfs #wireguard

Вопрос:

Я пытаюсь запустить nextcloud на VPS, который использует pi дома в качестве внешнего тома хранения. Я установил проводную защиту между ними и попробовал множество способов настроить это, и я подозреваю, что я в корне неправильно понимаю что-то в этой настройке.

  1. Сначала я попытался запустить vsftpd на pi. С моего vps я мог ftp user@pi-ip-addr бы аутентифицироваться, перечислять каталог и загружать файлы, где pi-ip-addr указан IP-адрес , назначенный ему wireguard. Из интерфейса nextcloud я смог добавить этот каталог в качестве внешнего хранилища и просматривать там файлы, но доступ на запись был запрещен.
  2. Затем я попытался с помощью samba и sshfs успешно смонтировать удаленное хранилище на pi sshfs user@pi-ip-addr:share /opt/nextcloud/extstore с доступом r/w. С этим смонтированным я сначала попытался добавить том в docker-compose.yaml
 services:
  app:
    volumes:
      - /opt/nextcloud/extstore:/extstore
 

а затем добавить /extstore в качестве локального внешнего хранилища в nextcloud. Если я запустил docker перед установкой папки с помощью sshfs, он, казалось, работал правильно. Я мог бы добавлять файлы из оболочки vps и просматривать их в nextcould, а также загружать файлы через nextcloud и просматривать их в оболочке. Но если я сначала смонтировал хранилище pi, я получил ошибку при запуске nextcloud

 ERROR: for nextcloud_app_1  Cannot start service app: error while creating mount source path '/opt/nextcloud/extstore': mkdir /opt/nextcloud/extstore: file exists

ERROR: for app  Cannot start service app: error while creating mount source path '/opt/nextcloud/extstore': mkdir /opt/nextcloud/extstore: file exists
ERROR: Encountered errors while bringing up the project.
 
  1. Последний подход, который я пробовал, состоял в создании тома vieux/sshfs
 docker volume create -d vieux/sshfs -o sshcmd=user@pi-ip-addr:share -o password=#### extstore
 

Затем , чтобы проверить это: docker run -it -v extstore:/data busybox ls /data , который возвращает

 docker: Error response from daemon: error while mounting volume '': VolumeDriver.Mount: sshfs command execute failed: exit status 1 (read: Connection reset by peer).
ERRO[0031] error waiting for container: context canceled 
 

Я подозреваю, что для (1) и (3) что-то не так с сетевыми правилами docker, которые мешают, возможно, в сочетании с запуском его через wireguard? И, возможно, для (2) есть что-то, что делает docker, когда он создает том в локальном каталоге, который несовместим (или неправильно настроен) для его использования в качестве точки монтирования для sshfs/samba, возможно, также по соображениям безопасности? Любые объяснения причины и/или предложения о том, как достичь того, что мне нужно, были бы действительно хороши. Спасибо!