Brief Description
openmediavault (OMV) 是一款開源的NAS,而nextcloud則是一款開源的雲端存儲介面。配合docker的使用,可以輕易地將樹莓派或任何其他linux distro結合hard drive搖身一變成為個人使用的NAS以及私有雲空間。若再配合DNS服務,要在外網訪問也不是問題
成果
- 在樹莓派上同時建立OpenMediaVault以及NextCloud服務,供區域網路內的裝置透過網頁或者應用程式存取
- 支援SMB共享磁碟;NextCloud上的檔案也會出現在OMV中
- 本文不涉及在外網存取上述服務。有興趣的朋友歡迎搜尋內網穿透以及DNS服務等關鍵字
Pre-Installation
OpenMediaVault
Docker
NextCloudPi
- 使用的 docker img https://hub.docker.com/r/ownyourbits/nextcloudpi
- go through video for installing NextCloudPi https://www.youtube.com/watch?v=Xl1o0gWL48k
- https://github.com/nextcloud/nextcloudpi
- https://www.nextcloudpi.com/#highlights_content
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。
接著我們就可以安裝nextcloudpi了
NextCloudPi
- 在樹莓派本機上(不要在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資料夾 - 如果要另外在nextcloud上開啟external storage服務並掛載OMV的資料夾的話,比起以SMB掛載,可以選擇於容器部署時再映射一個資料夾到容器內
- 當看到log正常並且部署完後便可以以
[https://IP_ADDRESS](https://IP_ADDRESS)
進入nextcloud 的初使化介面。此時會以ncp
為帳號,另有隨機產生的密碼。可以印下來方便複製。第一次登入後即可更改。不要不加https然後以port 443 連線,會導致瀏覽器認為request不正確。 - nextcloudpi有兩個不同的admin頁面,一個是nexcloud介面本身,另一個是nextcloudpi。port分別是443跟4443
- nextcloudpi wizard 可以幫忙連上DNS服務並讓nextcloud可以通向外網,不過需要在router端做好port forwarding
- 建立使用者,也可以設定權限
- 在應用程式中找到external storage support並啟用
- 在設定中掛載本機資料夾(docker container內的資料夾)。因為我們設定過映射關係了,所以讓此資料夾可以映射到 OMV 的共享資料夾,同時也是被 smb 協議掛載的資料夾。如此一來就設定完了
- 在手機端上下載nextcloud app並設定同步上傳功能,便可以同步照片影片了。