用nextcloud搭建個人網盤

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來拉起應用:

<code>$ 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/ \ -p

8080

:

80

\ nextcloud /<code>

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:

<code>

docker run -d \ -e MYSQL_DATABASE="nextcloud" \ -e MYSQL_USER="shikanon" \ -e MYSQL_PASSWORD="123456" \ -e MYSQL_HOST="127.0.0.1:3306" \ -p 8080:80 \ nextcloud

/<code>

docker設置管理員用戶名密碼:

NEXTCLOUD_ADMIN_USER管理員用戶名NEXTCLOUD_ADMIN_PASSWORD管理員密碼

如果在安裝得時候沒設置管理員用戶名和密碼,在第一次打開界面得時候會讓你設置。


nextcloud docker遷移

可以採用docker-compose的形式部署,將數據存在容器的數據卷中,

<code>

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

/<code>

在容器升級或者數據遷移的時候直接重新拉起即可:

<code>$ docker-compose pull $ docker-compose up -d/<code>