强曰为道
与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

Nextcloud 私有云部署教程 / 06 - 应用生态

06 - 应用生态

探索 Nextcloud 丰富的应用生态:Office 协作、日历、联系人、邮件、Deck 看板、密码管理等。


6.1 应用管理基础

应用安装与管理

# 列出已安装应用
sudo -u www-data php /var/www/nextcloud/occ app:list

# 从应用商店安装
sudo -u www-data php /var/www/nextcloud/occ app:install calendar
sudo -u www-data php /var/www/nextcloud/occ app:install contacts
sudo -u www-data php /var/www/nextcloud/occ app:install deck

# 禁用应用
sudo -u www-data php /var/www/nextcloud/occ app:disable activity

# 更新所有应用
sudo -u www-data php /var/www/nextcloud/occ app:update --all

核心应用一览

应用功能默认状态
Files文件管理✅ 内置
Activity活动流✅ 内置
Calendar日历✅ 内置
Contacts联系人✅ 内置
Talk视频会议/聊天❌ 需安装
Mail邮件客户端❌ 需安装
Deck看板/任务管理❌ 需安装
Notes笔记❌ 需安装
Passwords密码管理❌ 需安装
Collectives知识库/Wiki❌ 需安装
Forms表单/问卷❌ 需安装
Whiteboard白板❌ 需安装
Maps地图❌ 需安装
Photos照片管理✅ 内置

6.2 Calendar(日历)

功能特性

特性说明
多日历支持创建多个日历(工作、个人、共享等)
CalDAV 协议标准协议,兼容 Thunderbird、Apple Calendar 等
重复事件支持复杂重复规则
提醒通知邮件、弹窗、推送通知
会议室会议室资源管理
共享日历与用户/群组共享,支持只读/读写权限
Webhook事件变更通知

使用场景

企业场景:
├── 部门日历共享(团队可见)
├── 会议室预约管理
├── 项目里程碑日历
└── 与 Outlook/Thunderbird 同步

个人场景:
├── 个人日程管理
├── 家庭日历共享
├── 生日/纪念日提醒
└── 手机日历同步(DAVx5)

CalDAV 客户端配置

CalDAV URL: https://cloud.example.com/remote.php/dav/calendars/username/
用户名: Nextcloud 用户名
密码: Nextcloud 密码(或应用密码)

6.3 Contacts(联系人)

功能特性

特性说明
vCard 格式标准 vCard 3.0/4.0
CardDAV 协议标准协议,支持跨设备同步
联系人分组按群组分类管理
导入/导出支持 CSV、vCard 导入导出
共享通讯录团队/部门通讯录共享
LDAP 集成自动同步 LDAP 用户

CardDAV 配置

CardDAV URL: https://cloud.example.com/remote.php/dav/addressbooks/users/username/
用户名: Nextcloud 用户名
密码: Nextcloud 密码

从 Google/Outlook 迁移

# 1. 从 Google 导出联系人(CSV 或 vCard)
# 2. 在 Nextcloud Contacts 应用中导入
# 3. 在客户端(如 DAVx5)配置 CardDAV 同步

6.4 Mail(邮件客户端)

安装与配置

sudo -u www-data php /var/www/nextcloud/occ app:install mail

支持的邮件协议

协议端口加密说明
IMAP143STARTTLS接收邮件
IMAPS993SSL/TLS接收邮件(加密)
SMTP587STARTTLS发送邮件
SMTPS465SSL/TLS发送邮件(加密)

配置示例

接收服务器(IMAP):
  服务器: imap.example.com
  端口: 993
  加密: SSL/TLS
  用户: user@example.com
  密码: 邮箱密码

发送服务器(SMTP):
  服务器: smtp.example.com
  端口: 587
  加密: STARTTLS
  用户: user@example.com
  密码: 邮箱密码

Sieve 邮件过滤

Mail 应用支持 Sieve 邮件过滤规则:

require ["fileinto", "reject"];

# 自动分类邮件
if header :contains "Subject" "[GitHub]" {
    fileinto "GitHub";
}
if header :contains "From" "noreply@example.com" {
    fileinto "通知";
}

6.5 Talk(视频会议与聊天)

安装

sudo -u www-data php /var/www/nextcloud/occ app:install talk
sudo -u www-data php /var/www/nextcloud/occ app:install signaling_server  # 可选

功能特性

特性说明
一对一聊天文字、图片、文件、语音消息
群组聊天多人群聊,支持 @提及
视频通话1对1 或多人视频(P2P 或 SFU)
屏幕共享分享整个屏幕或单个窗口
文件共享聊天中直接分享文件
集成与文件、日历、Deck 集成
客户端Android / iOS / Web

TURN 服务器配置

大规模部署需要 TURN 服务器以确保 NAT 穿透:

# 安装 coturn
sudo apt install -y coturn

# 编辑 /etc/turnserver.conf
cat << 'EOF' > /etc/turnserver.conf
listening-port=3478
tls-listening-port=5349
fingerprint
lt-cred-mech
realm=turn.example.com
total-quota=100
stale-nonce=600
cert=/etc/letsencrypt/live/turn.example.com/fullchain.pem
pkey=/etc/letsencrypt/live/turn.example.com/privkey.pem
no-multicast-peers
no-cli
no-tlsv1
no-tlsv1_1
EOF

sudo systemctl restart coturn

在 Nextcloud 管理后台配置 TURN:

设置 → 管理 → Talk → STUN 服务器: stun:turn.example.com:3478
TURN 服务器: turn:turn.example.com:3478
TURN 密钥: your-shared-secret
协议: udp,tcp

6.6 Deck(看板/任务管理)

功能特性

特性说明
看板视图Kanban 风格任务管理
列表视图传统任务列表
标签系统多彩标签分类
截止日期任务到期提醒
负责人任务指派
附件附加文件到卡片
评论卡片评论与讨论
Markdown卡片描述支持 Markdown
日历集成任务显示在日历中
Talk 集成从聊天创建卡片

使用场景

项目管理:
├── TODO (待办) → In Progress (进行中) → Review (评审) → Done (完成)
├── Bug 跟踪看板
├── 产品需求池
└── Sprint 迭代管理

个人管理:
├── 学习计划看板
├── 读书清单
└── 生活待办

Deck API 示例

# 获取所有看板
curl -s -u admin:password \
  -H "OCS-APIREQUEST: true" \
  "https://cloud.example.com/index.php/apps/deck/api/v1.0/boards" | jq

# 创建新卡片
curl -s -u admin:password \
  -X POST \
  -H "Content-Type: application/json" \
  -H "OCS-APIREQUEST: true" \
  -d '{"title":"新任务","type":"plain","order":0}' \
  "https://cloud.example.com/index.php/apps/deck/api/v1.0/boards/1/stacks/1/cards" | jq

6.7 Notes(笔记)

功能特性

特性说明
Markdown 编辑支持 Markdown 语法
文件存储笔记以 .md 文件存储在 Files 中
分类管理按类别组织笔记
全文搜索搜索笔记内容
APIREST API 支持第三方客户端
移动端Android / iOS 客户端

6.8 Passwords(密码管理)

安装

sudo -u www-data php /var/www/nextcloud/occ app:install passwords

功能特性

特性说明
密码存储加密存储网站密码
文件夹管理按类别组织密码
标签系统灵活的标签分类
共享与用户/群组共享密码
导入/导出支持 CSV、KeePass 格式
浏览器扩展Firefox / Chrome 扩展
安全审计密码强度检测、泄露检查
2FA与其他应用集成双因素认证

与 KeePass 对比

特性Nextcloud PasswordsKeePass
存储位置Nextcloud 服务器本地文件(可同步)
多设备同步✅ 原生支持需要配合同步工具
协作✅ 支持共享❌ 不支持
浏览器扩展✅ 支持✅ 通过 KeePassXC
安全性AES-256 加密AES-256/ChaCha20

6.9 Collectives(知识库)

sudo -u www-data php /var/www/nextcloud/occ app:install collectives

功能特性

特性说明
Wiki 风格树形页面结构
Markdown全 Markdown 编辑
版本控制页面历史版本
团队协作群组共享知识库
搜索全文搜索
集成与 Files、Talk 集成

6.10 Forms(表单)

sudo -u www-data php /var/www/nextcloud/occ app:install forms

功能特性

特性说明
题型支持单选、多选、简答、下拉、日期等
匿名填写无需 Nextcloud 账号
结果统计图表展示结果
导出CSV 导出结果
关联文件结果关联到 Files

6.11 应用集成配置

应用间集成关系图

┌─────────┐    ┌──────────┐    ┌─────────┐
│  Files  │◄──►│   Talk   │◄──►│  Deck   │
└────┬────┘    └────┬─────┘    └────┬────┘
     │              │              │
     │     ┌────────┴────────┐     │
     │     │   Calendar      │     │
     │     └────────┬────────┘     │
     │              │              │
┌────┴──────────────┴──────────────┴────┐
│              Notifications             │
└───────────────────────────────────────┘

常用应用安装清单

# 一键安装推荐应用
APPS="calendar contacts talk mail deck notes passwords forms collectives"
for app in $APPS; do
    sudo -u www-data php /var/www/nextcloud/occ app:install "$app"
done

6.12 注意事项

  1. 应用兼容性: 安装应用前检查是否支持当前 Nextcloud 版本
  2. 性能影响: 每个应用都会增加内存和 CPU 消耗,按需安装
  3. 更新策略: 大版本升级前先禁用第三方应用,升级后再逐个测试启用
  4. Talk 性能: 10 人以上视频通话建议配置独立 SFU(如 Janus)或 TURN 服务器
  5. Mail 安全: 邮箱密码建议使用应用专用密码,而非主密码
  6. Passwords 备份: 密码数据虽然加密存储,但仍需定期备份

6.13 扩展阅读


上一章: 05 - 存储方案 下一章: 07 - 文件分享 — 链接分享、群组分享、权限管理。