Nextcloud + OnlyOffice 安装与使用
Nextcloud 离线部署与 Docker/Docker-Compose 配置示例,包含 onlyoffice 集成说明。
views
| comments
安装nextcloud#
docker run -d --name nextcloud --restart=always -v /home/docker/workspace/nextcloud:/var/www/html -e TZ="Asia/Shanghai" -p 8080:80 nextcloudbash安装onlyoffice服务#
#安装 onlyoffice
docker run -d --restart=always --name onlyoffice -p 9002:80 -p 9001:443 onlyoffice/documentserverbash使用docker-compose.yml#
version: '3'
services:
nextcloud:
image: nextcloud
container_name: nextcloud
restart: always
ports:
- "8080:80"
environment:
- TZ=Asia/Shanghai
volumes:
- /docker/nextcloud:/var/www/html
onlyoffice:
image: onlyoffice/documentserver
container_name: onlyoffice
restart: always
ports:
- "9002:80"
- "9001:443"
volumes:
- /docker/onlyoffice/data:/var/www/onlyoffice/Data
# - /home/docker/workspace/onlyoffice/logs:/var/log/onlyoffice # 日志文件
# - /home/docker/workspace/onlyoffice/lib:/var/lib/onlyoffice # 数据库和应用配置
# - /home/docker/workspace/onlyoffice/cache:/var/cache/onlyoffice # 缓存文件bash获取onlyoffice秘钥(用于后面nextcloud的onlyoffice插件配置)#
进入onlyoffice容器内
## 进入onlyoffice容器
docker exec -it onlyoffice bash
## 查看秘钥
cat /etc/onlyoffice/documentserver/local.jsonbash随后将离线下载的nextcloud app的压缩包传入容器中/var/www/html/apps目录里面(即挂载数据卷的apps目录)后解压即可
tar -zxvf onlyoffice.tar.gzbashonlyoffice添加字体#
# 将字体文件传入容器中
cp ~/方正书宋简体.ttf onlyoffice:/usr/share/fonts/truetype/custom/
# 进入容器
docker exec -it onlyoffice bash
# 执行脚本,随后刷新浏览器缓存即可
bash /usr/bin/documentserver-generate-allfonts.shbashnextcloud优化#
配置缓存 APCu + redis#
APCu : 配置config.php文件
'memcache.local' => '\\OC\\Memcache\\APCu' ,bash检查
docker exec -it nextcloud bash
cat /usr/local/etc/php/conf.d/docker-php-ext-apcu.inibashredis :配置config.php文件
'memcache.locking' => '\\OC\\Memcache\\Redis',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'redis' => array(
'host' => '49.233.160.34',
'port' => 16379,
),bash使用http2#
-
进入 Nextcloud 容器:
bashdocker exec -it nextcloud bash -
启用
http2模块:
basha2enmod http2
后台任务#
选择第三种corn
在宿主机上确保 Cron 服务正在运行,使用以下命令:
systemctl status cronbash可以手动测试这条命令,看看是否正常运行:
docker exec -u www-data nextcloud php -f /var/www/html/cron.phpbash检查是否已经安装:
rpm -qa | grep croniebash启动并启用 cron 服务:
sudo systemctl start crond
sudo systemctl enable crondbash在宿主机的 Crontab 中添加任务:
使用 crontab -e 编辑宿主机的 cron 配置文件。
添加如下行,定期在容器内执行 cron.php:
*/5 * * * * docker exec -u www-data nextcloud php -f /var/www/html/cron.phpplaintext这条命令每 5 分钟在容器内以 www-data 用户身份执行 Nextcloud 的 cron.php。
修改php运行内存#
docker exec -it nextcloud bash
sed -i 's/memory_limit=.*/memory_limit=1024M/' /usr/local/etc/php/conf.d/nextcloud.inibash