惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
N
Netflix TechBlog - Medium
M
MIT News - Artificial intelligence
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
The GitHub Blog
The GitHub Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
GbyAI
GbyAI
博客园_首页
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
人人都是产品经理
人人都是产品经理
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
T
The Blog of Author Tim Ferriss
The Cloudflare Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
Docker方式部署Nextcloud - 少数派
2020-03-12 · via 少数派
如果你想搭建个人或者团队私有网盘,那么 NextCloud 可能是目前最好的选择了。

网盘介绍

众所周知,国内很多网盘都关停了,现有的百度云还限速,甚至网盘里的文件还会被删除,网盘使用体验差、安全性堪忧。

团队内部分享文件,用微信传输有大小限制,且只能通过公网上传下载;用 QQ 传输虽然可以通过内网传输,但是有的文件是公司的机密,直接传输有泄露的风险,打包加密传输又太麻烦;并且文档应该是有查看权限的。

这个时候,如果有这么一套系统,既能够部署在局域网环境,又可以设置不同用户组的访问权限,还可以实现内网 + 公网访问,岂不是完美解决了以上问题。

这就要说起今天的主角了--「Nextcloud」,ownCloud 创始团队的新作,基于 ownCloud 开发,但是赋予了更多的特性,并且更加稳定,可以自定义部署,支持各种插件,甚至可以端到端加密等等。

(其实也可以考虑使用群辉等 NAS 设备,相对于非技术人员配置相对会更简单,不过不在本文讨论范围,以后有机会再写。)

安装

1、环境配置

首先,你需要有一台 Linux 环境的服务器,推荐使用 CentOS,本文及后续文章都会以 CentOS 为例。

其次,要在服务器上搭建 Docker 环境并启动 Docker,详细的操作参考我的上一篇文章「Docker环境搭建(CentOS篇)」。

对于 Docker 不了解也不要紧,只要按照下面的步骤进行操作即可。

2、拉取镜像

在终端执行以下命令,拉取 Nextcloud 镜像:

docker pull nextcloud

拉取到的 Nextcloud 镜像的 tag 是 latest,显示以下信息即表示拉取成功:

Using default tag: latest
latest: Pulling from library/nextcloud
bc51dd8edc1b: Pull complete
a3224e2c3a89: Pull complete
be7a066df88f: Pull complete
bfdf741d72a9: Pull complete
a9e612a5f04c: Pull complete
c026d8d0e8cb: Pull complete
d94096c4941c: Pull complete
5a16031a7587: Pull complete
0cf1daf9efc0: Pull complete
b202acb13a6c: Pull complete
907001e30880: Pull complete
2e4b329c80b2: Pull complete
cd1ec92e7164: Pull complete
8cba435f5ca6: Pull complete
e15a177658f6: Pull complete
9b26736059ce: Pull complete
53dbece8c17a: Pull complete
07158f924c2a: Pull complete
5ea6266119b8: Pull complete
e377a8cc542f: Pull complete
5662efc30cde: Pull complete
Digest: sha256:fa863d16c10387f4bae140bdd38f5591aa4b88f1292593dcffa501b9e1a76e58
Status: Downloaded newer image for nextcloud:latest
docker.io/library/nextcloud:latest

3、启动容器

执行以下命令,启动 Nextcloud 容器:

docker run -d --restart=always --name nextcloud -p 80:80 nextcloud

简单解释一下上述命令:

  • docker run :启动一个容器
  • -d:后台运行容器
  • --restart=always:Docker 重启的时候容器也会重启
  • --name nextcloud:命名容器的 name 为 nextcloud,可以替代容器 id 使用
  • -p 80:80:将容器的 80 端口映射到服务器的 80 端口
  • nextcloud:要启动的镜像名称

更多参数可以参考:https://hub.docker.com/_/nextcloud/

执行之后会显示一个类似下面的长串字符,表示启动成功:

526306c7a591205f6d2cd417384571b358e738e3c8b52c16c1fc6f1893c8535f

也可以使用下面命令查看容器是否正常运行:

docker ps

如果显示以下内容,表明容器已经在运行中了:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
619d34210996        nextcloud           "/entrypoint.sh apac…"   1 hours ago        Up 1 hours         0.0.0.0:80->80/tcp                  nextcloud

4、初始化安装

需要注意的是,如果使用的阿里云或腾讯的服务器,要检查服务器的安全组是否开放了 80 端口,没有开放的需要开放一下。

如果使用的是本地虚拟机,需要执行以下命令开放 80 端口对外访问:

firewall-cmd --zone=public --add-port=80/tcp --permanent

然后更新防火墙规则:

firewall-cmd --reload

使用浏览器访问 http://服务器ip 即可进入初始化设置页面。

直接输入管理员用户名和密码即可,数据库使用默认的 SQLite,后面有时间会写下怎么连 MySQL,安装推荐的应用勾不勾选无所谓,安装地址被墙了,即使勾选也不会安装。

初始化安装

初始化成功后弹出一个欢迎页面,关闭之后就进入到首页了,如下:

首页

将域名解析到服务器,即可实现外网访问 Nextcloud。

Enjoy it !

总结

个人认为,部署 Nextcloud 最简单的方法就是使用 Docker 进行部署,其他方式多多少少都有些复杂,想了解更多部署方式请访问:「Nextcloud 安装说明」。

本文介绍的只是最基础的环境部署,如果要在团队中的使用,还有很多需要优化和完善的地方,比如说数据库要改为 MySQL,插件的安装使用等等,后面有时间会再写一下相关的内容。