用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来拉起应用:

1
2
3
4
5
6
7
8
$ 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数据库做数据的存储,如果想用mysqlPostgreSQL可以通过--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:

1
2
3
4
5
6
7
$ 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的形式部署,将数据存在容器的数据卷中,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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

在容器升级或者数据迁移的时候直接重新拉起即可:

1
2
$ docker-compose pull
$ docker-compose up -d

shikanon wechat
欢迎您扫一扫,订阅我滴↑↑↑的微信公众号!