Hansen's ink

Back

安装nextcloud#

docker run -d --name nextcloud --restart=always -v /home/docker/workspace/nextcloud:/var/www/html -e TZ="Asia/Shanghai" -p 8080:80 nextcloud
bash

安装onlyoffice服务#

#安装 onlyoffice
docker run -d --restart=always --name onlyoffice -p 9002:80 -p 9001:443 onlyoffice/documentserver
bash

使用docker-compose.yml#

获取onlyoffice秘钥(用于后面nextcloud的onlyoffice插件配置)#

进入onlyoffice容器内

## 进入onlyoffice容器
docker exec -it onlyoffice bash

## 查看秘钥
cat /etc/onlyoffice/documentserver/local.json
bash

随后将离线下载的nextcloud app的压缩包传入容器中/var/www/html/apps目录里面(即挂载数据卷的apps目录)后解压即可

tar -zxvf onlyoffice.tar.gz
bash

onlyoffice添加字体#

# 将字体文件传入容器中
cp ~/方正书宋简体.ttf onlyoffice:/usr/share/fonts/truetype/custom/
# 进入容器
docker exec -it onlyoffice bash
# 执行脚本,随后刷新浏览器缓存即可
bash /usr/bin/documentserver-generate-allfonts.sh
bash

nextcloud优化#

配置缓存 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.ini
bash

redis :配置config.php文件

  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'redis' => array(
     'host' => '49.233.160.34',
     'port' => 16379,
  ),
bash

使用http2#

  • 进入 Nextcloud 容器

    docker exec -it nextcloud bash
    bash
  • 启用 http2 模块

    a2enmod http2
    bash

后台任务#

选择第三种corn

在宿主机上确保 Cron 服务正在运行,使用以下命令:

systemctl status cron
bash

可以手动测试这条命令,看看是否正常运行:

docker exec -u www-data nextcloud php -f /var/www/html/cron.php
bash

检查是否已经安装:

rpm -qa | grep cronie
bash

启动并启用 cron 服务:

sudo systemctl start crond
sudo systemctl enable crond
bash

在宿主机的 Crontab 中添加任务

使用 crontab -e 编辑宿主机的 cron 配置文件。

添加如下行,定期在容器内执行 cron.php

*/5 * * * * docker exec -u www-data nextcloud php -f /var/www/html/cron.php
plaintext

这条命令每 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.ini
bash
Nextcloud + OnlyOffice 安装与使用
https://astro-pure.js.org/blog/nextcloud
Author Hansen W.
Published at January 18, 2025
Comment seems to stuck. Try to refresh?✨