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 \ -vdata
:/var
/www/html/data
\ -v theme:/var
/www/html/themes/ \ -p8080
: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>