NextCloud + OnlyOffice 容器化部署指南

核心组件说明
  • NextCloud:开源私有云存储平台,支持文件同步、协作和扩展应用
  • OnlyOffice:实时协作办公套件,提供文档/表格/演示文稿在线编辑
  • 容器化架构:基于 Docker 实现快速部署和资源隔离

部署步骤

1. 环境准备
# 安装 Docker 和 Docker Compose
sudo apt update && sudo apt install docker.io docker-compose
sudo systemctl enable --now docker

2. 创建部署目录
mkdir nextcloud-onlyoffice && cd nextcloud-onlyoffice
touch docker-compose.yml

3. Docker Compose 配置
version: '3'

services:
  nextcloud:
    image: nextcloud:latest
    container_name: nextcloud
    restart: always
    ports:
      - "8080:80"
    volumes:
      - ./nextcloud:/var/www/html
      - ./apps:/var/www/html/custom_apps
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=your_db_password

  db:
    image: mariadb:10.6
    container_name: nextcloud-db
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=root_password
      - MYSQL_PASSWORD=your_db_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
    volumes:
      - ./db:/var/lib/mysql

  onlyoffice:
    image: onlyoffice/documentserver
    container_name: onlyoffice
    restart: always
    ports:
      - "8443:443"
    environment:
      - JWT_ENABLED=true
      - JWT_SECRET=your_jwt_secret
    volumes:
      - ./onlyoffice:/var/www/onlyoffice/Data

4. 启动服务
docker-compose up -d


系统配置

  1. 访问 NextCloud

    • 浏览器打开 http://your-server-ip:8080
    • 创建管理员账户
    • 数据库选择 MySQL/MariaDB,填写参数:
      • 数据库用户:nextcloud
      • 密码:your_db_password
      • 数据库名:nextcloud
      • 主机:db
  2. 集成 OnlyOffice

    • NextCloud 应用市场安装 "ONLYOFFICE" 应用
    • 配置设置:
      • Document Editing Service address: https://your-server-ip:8443/
      • Secret Key: your_jwt_secret

安全加固措施

# 1. 配置 HTTPS
sudo apt install certbot
certbot certonly --standalone -d your-domain.com

# 2. 更新防火墙规则
sudo ufw allow 80,443,8080,8443/tcp
sudo ufw enable

# 3. 定期备份
tar -czvf backup_$(date +%F).tar.gz nextcloud-onlyoffice/


性能优化建议

  1. 资源限制

    # 在 docker-compose.yml 中添加
    nextcloud:
      deploy:
        resources:
          limits:
            cpus: '2'
            memory: 4G
    

  2. 缓存配置

    docker exec -it nextcloud occ config:system:set \
      memcache.local --value="\OC\Memcache\APCu"
    

  3. 文件上传限制

    docker exec -it nextcloud sed -i \
      's/upload_max_filesize = 2M/upload_max_filesize = 10G/' \
      /usr/local/etc/php/conf.d/nextcloud.ini
    


验证部署

  1. 在 NextCloud 创建新文档
  2. 检查文档是否显示 OnlyOffice 编辑图标
  3. 测试多人协同编辑功能
  4. 监控容器状态:
    docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
    

注意:首次启动需等待 5-10 分钟完成初始化,数据卷路径可根据实际磁盘调整。生产环境建议配置域名和 SSL 证书。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐