用nextcloud搭建個人網盤
- 2020 年 3 月 30 日
- 筆記
nextcloud
nextcloud是一個私有雲存儲網盤項目,nextcloud是owncloud的衍生版本,2016年4月27日,ownCloud聯合創始人Frank Karlitschek宣布離開ownCloud ltc.,轉而成立另一家公司「Nextcloud」,由於ownCloud程式本身歸其開發人員所有,所以Nextcloud可以直接使用ownCloud的核心技術。nextcloud具有強大的擴展性,同時主打 a safe home for all your data,所以在安全性上nextcloud也十分出色。
nextcloud安裝
參考:https://hub.docker.com/_/nextcloud/
nextcloud安裝最簡單的方式就是用docker來拉起應用:
$ docker run -d -v nextcloud:/var/www/html -v apps:/var/www/html/custom_apps -v config:/var/www/html/config -v data:/var/www/html/data -v theme:/var/www/html/themes/<YOUR_CUSTOM_THEME> -p 8080:80 nextcloud
nextcloud文件目錄說明:
/var/www/html主文件夾var/www/html/custom_apps安裝其他應用APP的文件夾/var/www/html/config本地配置/var/www/html/datanextcloud的實際數據存儲/var/www/html/themes/主題
如果採用默認的形式啟動,其默認是採用sqlite資料庫做數據的存儲,如果想用mysql或PostgreSQL可以通過--link的方式連接,再設置對應的環境變數:
SQLite:
SQLITE_DATABASE資料庫名稱
MYSQL/MariaDB:
MYSQL_DATABASE資料庫名稱MYSQL_USER資料庫用戶名MYSQL_PASSWORD資料庫密碼MYSQL_HOST資料庫伺服器地址
PostgreSQL:
POSTGRES_DB Name資料庫名稱POSTGRES_USER資料庫用戶名POSTGRES_PASSWORD資料庫密碼POSTGRES_HOST資料庫伺服器地址
比如連接一個MySQL:
$ docker run -d -e MYSQL_DATABASE="nextcloud" -e MYSQL_USER="root" -e MYSQL_PASSWORD="123456" -e MYSQL_HOST="127.0.0.1:3306" -p 8080:80 nextcloud
docker設置管理員用戶名密碼:
NEXTCLOUD_ADMIN_USER管理員用戶名NEXTCLOUD_ADMIN_PASSWORD管理員密碼
如果在安裝得時候沒設置管理員用戶名和密碼,在第一次打開介面得時候會讓你設置。
nextcloud docker遷移
可以採用docker-compose的形式部署,將數據存在容器的數據卷中,
version: '2' volumes: nextcloud: db: services: db: image: mariadb command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always volumes: - db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD= - MYSQL_PASSWORD= - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud app: image: nextcloud ports: - 8080:80 links: - db volumes: - nextcloud:/var/www/html restart: always
在容器升級或者數據遷移的時候直接重新拉起即可:
$ docker-compose pull $ docker-compose up -d

