SFTPGO 是可以透過 SFTP, SCP, FTP 等協定來安權的傳輸檔案到後端的儲存空間
不論是 AWS S3 或 GCP Cloud Storage 或 Local 端的儲存空間都能夠用來當作後端使用
且他支援非常多種驗證方式有非常好的靈活性
今天就來用 SFTPGO 來建立上傳工具吧
SFTPGO 據我所知可以使用這兩種方式來上下載檔案
今天會用到的連接方法會使用第一種 在 Local 端上存取
SFTPGO 要來安裝到 OpenMediaVault(OMV) 上 方便操作
但 OMV 的系統版本是非常老的版本 還在 Debian 6
Debian 6 能裝的 golang 版本是 1.15.x
SFTPGO 要使用的版本要求 1.20.X 所以沒辦法透過本機直接執行 SFTPGO
所以這時候就來用 Docker 跑 Container 來避開這個問題:D
先來安裝 Docker
apt-get update
apt-get install docker -y
安裝完後就來啟動 Docker 順便設定每次開機都會開啟 docker service
再 Pull SFTPGO Image 下來
systemctl enable docker
service docker start
docker pull drakkan/sftpgo:v2.5.4-alpine
接著就來讓 SFTPGO 跑起來吧
這邊用 -v
指定 Navidrome 的音樂路徑當作等等要使用的後端存放點-p
指定 8080 為 SFTPGO 的網頁介面 Port 2022 為檔案傳輸使用的 Port--restart
讓 SFTPGO 在除了手動停止以外都會自動重啟
docker run -it --name sftpgo -p 8080:8080 -p 2022:2022 --restart unless-stopped -v /srv/dev-disk-by-uuid-b53f3a19-0347-479d-95f5-2e0f517ce0a8/navidrome:/navidrome-upload "drakkan/sftpgo:v2.5.4-alpine"
讓 SFTPGO 跑起來後就到網頁上開始設定
可以先按 Ctrl + P 再按 Ctrl + Q 離開 Container 的 Shell
這邊先來註冊管理員的帳號
註冊完後就到 Folders 準備建立存放點的連線
Storage 選擇 Local 並且打上docker run -v:
後的路徑
輸入完後就按下 Submit 交出去
接著到 Group 這邊建立一個 Navidrome 的 Group
在下方的 Virtual Folder 打上路徑名稱和選擇剛剛建立的存放點
這邊設定的路徑名稱是使用者會看到的路徑名稱
接著來到 User 這邊來建個使用者
這邊我們輸入帳號 + 密碼之後再把 Primary Group 選到 Navidrome 就可以 Submit 了
接下來就到使用者端做測試吧
先從右上角登出或用無痕到 SFTPGO 的登入頁面
登入進來之後就會看到 /upload 這個路徑了
來把測試的的歌丟上去 Try Try 看
這邊因為 SFTPGO 沒有支援資料夾上傳 所以要先建立資料夾 ==
廢話不說 到 Navidrome 檢查看看檔案能不能正常使用
好棒好蚌 可以開始聽歌了 3日發燒友達成