2026年2月20日 星期五

[Open-source tool] 如何利用Docker將FileBrowser服務快速部署在樹莓派上?


農曆年前剛入手一台聯想平板,趁年假空檔來整理平板作業環境,該平板主要用於零碎時間方便閱讀電子書,但以實體線和藍芽一次傳輸多個檔案總覺得不太方便,包含還需要移動身體拿實體線、手動切換電腦和平板的藍芽開關,以及忍受藍芽較長的傳輸時間。若是用FTP傳輸檔案,則還需要額外安裝APP。因此請教Gemini是否有browser-based的私有雲,同時也可供家中其他成員共享檔案使用,結果還真有FileBrowser這類輕量型私有雲的開源軟體,用docker即可快速部署,簡單好用。(OS: 很慶幸活在這個AI資訊時代,只要有想像力和肯實作,解決需求的工具一直都有,無論是自己造輪子或找到合適的輪子)

一、FileBrowser 簡介

FileBrowser是一個基於 Go 語言開發的開源專案,屬於browser-based檔案管理系統,換言之,只要有瀏覽器,無論在哪個作業系統(Windows、Mac、Linux甚至手機和平板),都能直接上傳、下載和搬移檔案,具備跨平台存取檔案的效果。另外,相較於整合日曆和郵件的龐大系統(類似Nextcloud),FileBrowser屬於輕量型檔案管理系統,占用系統資源極低,一台樹莓派 4B/8G即可順暢運行,透過網頁就可像操作Google Drive管理所有檔案,相當適合下列使用場景。

a. 單人多設備私有雲 : 透過FileBrowser作為私有雲,快速且方便在各設備取得所需檔案。
b. 家庭成員檔案共享 : 透過內建的權限系統,為不同成員開啟專屬的資料夾存取權限。

二、 Docker 部署 FileBrowser

a.本文以Ubuntu 22.04 desktop LTS的樹莓派4B/8G為範例,使用Docker run部署FileBrowser,指令如下:

sudo docker run -d \
  --name filebrowser \
  --restart always \
  -v /your_file_path:/srv \
  -v /filebrowser/config/filebrowser.db:/database/filebrowser.db \
  -e PUID=$(id -u) \
  -e PGID=$(id -g) \
  -p 8383:80 \
  filebrowser/filebrowser:latest

b.指令說明如下:
-p 8383:80 : filebrowser容器內預設port為80,將樹莓派主機的8383 port對接到容器內的80 port。
-v /your_file_path:/srv : 透過這個volume掛載來指向共享檔案的路徑。其中/srv是容器內預設讀取檔案的路徑,/your_file_path是樹莓派主機上實際要分享的檔案路徑。
-v /path/to/config/database.db:/database.db : FileBrowser將所有使用者帳號和權限設定存放在資料庫(database.db),其可確保當更新FileBrowser映像檔(image)時,這些設定仍可以套用。
PUID/PGID : Ubuntu作業系統的使用者ID資訊,確保 FileBrowser 擁有的檔案讀寫權限與作業系統的使用者一致,避免出現權限不足(permission denied)的情況。

當docker順利啟動後,利用瀏覽器訪問http://樹莓派主機ip:8383,應可順利看到登入畫面。同時預設帳號為admin,而密碼可透過下列指令來查詢,即可順利進到FileBrowser web存取介面。

sudo docker logs filebrowser




三、 FileBrowser Web 介面管理設定

a.初次登入
第一件工作是記得重設admin的密碼,為了強化存取安全和後台管理,個人建議將管理員帳號和密碼全部重設。



b.新增使用者和配置資料夾存取權限
FileBrowser能為不同使用者設定不同的資料夾,參考下列步驟新增使用者和配置對應存取權限。

1. 選擇"使用者管理" -> "新增"。
2. 設定使用者目錄 : 指定該使用者登入後只能看到 / 資料夾下的內容,而無法看到其他人的檔案,以實現檔案管理的隔離。
3.使用者資料夾存取權限 : 可依照管理邏輯來勾選。
  -管理員 : 是否讓該帳號擁有更改系統設定的權利。
  -建立檔案和資料夾 : 若勾選,使用者可建立檔案和資料夾。
  -刪除檔案和資料夾 : 謹慎勾選,建議僅開放給核心成員。
  -編輯檔案:若勾選,使用者可修改檔案。
  -下載 : 若勾選,使用者可下載檔案。
  -分享檔案 : 勾選後,使用者可以像 Google Drive 一樣產生一個分享網址給朋友下載,甚至可以設定密碼與到期日。


沒有留言:

張貼留言