本教程最后修改于2019/3/26
前言
NextCloud(nextcloud.com)是一款用于自建私有网盘的云存储开源软件,采用PHP+MySQL开发,功能类似百度云盘,提供了PC、IOS和Android三个同步客户端支持多种设备访问,用户可以很方便地与服务器上存储的文件、日程安排、通讯录、书签等重要数据保持同步,还支持其他同步来源:Amazon S3、Dropbox、FTP、Google Drive、OpenStack Object Storage、SMB、WebDAV、SFTP。
官网演示:https://demo.nextcloud.com
截图



优点
- 支持多客户端同步
- 支持常见格式预览,包括音频、视频、md文件
- 文件分享可设置有效期、操作动态等
新增两种部署方法:快速部署适合体验,长期或正式环境使用,请选择B方案(正式环境部署)
A:快速部署(仅用于体验,数据无保留)
项目地址:
1.Docker安装(已安装的可省略此步骤)
docker version > /dev/null || curl -fsSL get.docker.com | bash
service docker restart
systemctl enable docker #设置开机自启
2.部署
docker run -d -p 8080:80 nextcloud #官方脚本
然后打开浏览器,访问http://ip:8080 就可以进入了。如需替换端口,请修改8080为端口值就行。
B:正式环境部署(宿主机保留文件和数据库)
正式环境设置宿主机挂载目录和数据库挂载目录,因此重启或者其它操作下,所有数据本地均有记录。
1.Docker安装(已安装的可省略此步骤)
docker version > /dev/null || curl -fsSL get.docker.com | bash
service docker restart
systemctl enable docker #设置开机自启
2.Docker-compose环境安装(已安装的可省略此步骤)
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose #下载最新文件
chmod +x /usr/local/bin/docker-compose #添加可执行权限
3.部署程序
mkdir nextcloud && cd nextcloud #临时创建nextcloud文件,用于存放启动文件
wget https://raw.githubusercontent.com/Baiyuetribe/codes/master/nextcloud/docker-compose.yml
docker-compose up -d
然后打开浏览器,访问http://ip:8080 就可以进入了。数据库采用mariadb
,默认数据库名和ROOT密码均为nextcloud
详细说明:
关于docker-compose.yml
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=nextcloud
- MYSQL_DATABASE=nextcloud
app:
image: nextcloud
ports:
- 8080:80
links:
- db
volumes:
- nextcloud:/var/www/html
restart: always
其中db数据卷
用于存放数据库文件,容器重启或者删除操作下,数据库文件不丢失;同理,nextcloud
数据卷也有同样的功能。
其它玩法请自行摸索
在线视频:
视频教程:请参考第37期
YouTube 哔哩哔哩 OneDrive
更多精彩,请右转佰阅商城
bash <(curl -L -s https://raw.githubusercontent.com/Baiyuetribe/codes/master/caddy/caddy.sh)