OpenMediaVault + NextCloudPi = 個人私有雲與NAS

Brief Description

openmediavault (OMV) 是一款開源的NAS,而nextcloud則是一款開源的雲端存儲介面。配合docker的使用,可以輕易地將樹莓派或任何其他linux distro結合hard drive搖身一變成為個人使用的NAS以及私有雲空間。若再配合DNS服務,要在外網訪問也不是問題

成果

  1. 在樹莓派上同時建立OpenMediaVault以及NextCloud服務,供區域網路內的裝置透過網頁或者應用程式存取
  2. 支援SMB共享磁碟;NextCloud上的檔案也會出現在OMV中
  3. 本文不涉及在外網存取上述服務。有興趣的朋友歡迎搜尋內網穿透以及DNS服務等關鍵字

Pre-Installation

OpenMediaVault

Docker

NextCloudPi

Step by Step Configuration

OpenMediaVault

sudo apt update
sudo apt upgrade
wget -O - <https://raw.githubusercontent.com/OpenMediaVault-Plugin-Developers/installScript/master/install> | sudo bash
sudo reboot

Go to http://[raspberrypi_ip_address]

The default username is admin, and the default password is openmediavault

SSH group

安裝完OMV後,原先的user不會在ssh group裏頭,以至於沒辦法再以ssh連線至本機,此時可以在OMV的使用者群組頁面把user加進ssh group中

File System

  • 在儲存裝置 → 磁碟中可以先format磁碟
  • 在儲存裝置 → 檔案系統中可以掛載磁碟

Sharing Folder

  • 共享檔案夾是基本單位,每一個共享檔案夾都可以設定權限。要被smb掛載的也是共享檔案夾。

SMB

  • SMB掛載的是共享檔案夾,所以可以一次設定多個,也可以把最頂層(最靠近根目錄)的共享檔案夾設定smb分享,以存取其他次級的檔案夾。

Docker

absolute directory

  • 在OMV extra中可以安裝docker以及管理容器或cluster的portainer。我選擇安裝在掛載的硬碟上,所以路徑填上硬碟的絕對路徑

Portainer

  • 用來管理cluster還有container,實際上能管理的東西很多。一開始需要設定admin帳號,接著就會看到所在的cluster。 螢幕快照 2022-07-24 上午1.01.52.png

接著我們就可以安裝nextcloudpi了

NextCloudPi

  1. 在樹莓派本機上(不要在portainer上deploy,除非知道怎麼映射IP)以docker執行: IP=192.168.31.103 #輸入你的nextcloud ip docker run -d -p 4443:4443 -p 443:443 -p 80:80 -v /srv/dev-disk-by-uuid-ef7aff64-7fe8-41fd-b515-ea8e444af38f/NextCloud/ncdata:/data --name nextcloudpi ownyourbits/nextcloudpi $IP 注意到我們將本幾掛載的硬碟以映射到container內部的data資料夾
  2. 如果要另外在nextcloud上開啟external storage服務並掛載OMV的資料夾的話,比起以SMB掛載,可以選擇於容器部署時再映射一個資料夾到容器內
  3. 當看到log正常並且部署完後便可以以 [https://IP_ADDRESS](https://IP_ADDRESS) 進入nextcloud 的初使化介面。此時會以 ncp 為帳號,另有隨機產生的密碼。可以印下來方便複製。第一次登入後即可更改。不要不加https然後以port 443 連線,會導致瀏覽器認為request不正確。
  4. nextcloudpi有兩個不同的admin頁面,一個是nexcloud介面本身,另一個是nextcloudpi。port分別是443跟4443
  5. nextcloudpi wizard 可以幫忙連上DNS服務並讓nextcloud可以通向外網,不過需要在router端做好port forwarding
  6. 建立使用者,也可以設定權限
  7. 在應用程式中找到external storage support並啟用
  8. 在設定中掛載本機資料夾(docker container內的資料夾)。因為我們設定過映射關係了,所以讓此資料夾可以映射到 OMV 的共享資料夾,同時也是被 smb 協議掛載的資料夾。如此一來就設定完了
  9. 在手機端上下載nextcloud app並設定同步上傳功能,便可以同步照片影片了。

另外將/OMV資料夾映射到container內部,以便讓nextcloud掛載
開啟external storage功能
把OpenMediaVault的共享資料夾掛載上來

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *