Nextcloud部署
Nextcloud 是目前最流行的开源协作平台和个人云存储方案,支持文件同步、日历、联系人以及丰富的插件生态。
2. 安装与部署
Section titled “2. 安装与部署”推荐使用 Docker Compose 进行一键式部署,方便维护和升级。
2.1. Docker Compose 配置
Section titled “2.1. Docker Compose 配置”services: nextcloud-app: image: nextcloud:apache container_name: nextcloud-app restart: always volumes: - nextcloud_data:/var/www/html ports: - 8888:80 environment: # 数据库配置 (PostgreSQL) - POSTGRES_HOST=db # 外部 Postgres 的 IP 或域名 - POSTGRES_DB=nextcloud # 数据库名 - POSTGRES_USER=[DB_USER] # 数据库用户名 - POSTGRES_PASSWORD=[DB_PASS] # 数据库密码
# Redis 缓存配置 - REDIS_HOST=redis # 外部 Redis 的 IP 或域名 #- REDIS_HOST_PASSWORD=[REDIS_PASS] # 如果 Redis 有密码则开启
# 初始化管理员账户 - NEXTCLOUD_ADMIN_USER=admin - NEXTCLOUD_ADMIN_PASSWORD=[ADMIN_PASSWORD]
# 域名与协议配置 - NEXTCLOUD_TRUSTED_DOMAINS=[nxcloud.example.com] - OVERWRITEHOST=[nxcloud.example.com] - OVERWRITEPROTOCOL=https networks: - nextcloud_network
volumes: nextcloud_data:
networks: nextcloud_network: external: true3. 运维管理
Section titled “3. 运维管理”Nextcloud 提供了强大的命令行工具 occ。在容器环境中,需通过 docker exec 调用。
3.1. 常用命令示例
Section titled “3.1. 常用命令示例”# 重置管理员密码docker exec -u www-data -it nextcloud-app php occ user:resetpassword admin
# 列出所有用户docker exec -u www-data -it nextcloud-app php occ user:list
# 查看当前已信任的域名docker exec -u www-data -it nextcloud-app php occ config:system:get trusted_domains
# 添加新的信任域名docker exec -u www-data -it nextcloud-app php occ config:system:set trusted_domains 1 --value=127.0.0.1:8888docker exec -u www-data -it nextcloud-app php occ config:system:set trusted_domains 2 --value=[nxcloud.example.com]
# 手动触发文件扫描(适用于直接将文件放入宿主机 data 目录的情况)docker exec -u www-data nextcloud-app php /var/www/html/occ files:scan --path="/admin/files/Books"4. 定时任务 (CRON)
Section titled “4. 定时任务 (CRON)”为了确保后台任务(如文件同步、预览图生成)能正常运行,建议在宿主机设置 crontab。
# 每 5 分钟执行一次 Nextcloud 后台任务*/5 * * * * docker exec -u www-data nextcloud-app php -f /var/www/html/cron.php
# (可选) 定期扫描特定路径下的文件*/5 * * * * docker exec -u www-data nextcloud-app php /var/www/html/occ files:scan --path="/admin/files/Books"