admin管理员组文章数量:1549849
一、版本描述
Ubuntu:22.04
Nextcloud:28.0.2
Onlyoffice:7.5.1
MariaDB:11.2.2
redis:7.2.4
二、docker、docker-compose安装
略
三、准备环境:
创建数据目录
mkdir -vp /root/app/nextcloud/{cronsh,data} /root/app/onlyoffice/{logs,data} /root/app/mariadb/{config,data} /root/app/redis/{conf,data}
四、docker-compose.yml文件
version: '2'
services:
nextcloud:
image: nextcloud
container_name: nextcloud
volumes:
- /root/app/nextcloud/data:/var/www/html
networks:
- nextcloud_default
depends_on:
- redis
restart: always
ports:
- 8080:80
links:
- mariadb:mariadb
- onlyoffice:onlyoffice
mariadb:
image: mariadb
container_name: mariadb
ports:
- 3307:3306
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=XXXX
volumes:
- /root/app/mariadb/data:/var/lib/mysql
- /root/app/mariadb/config:/etc/mysql/conf.d
networks:
- nextcloud_default
restart: always
onlyoffice:
image: onlyoffice:7.5.1
container_name: onlyoffice
restart: always
ports:
- 9000:80
- 9001:443
environment:
- REDIS_SERVER_HOST=redis
- REDIS_SERVER_PORT=6379
volumes:
- /root/app/onlyoffice/logs:/var/log/onlyoffice
- /root/app/onlyoffice/data:/var/www/onlyoffice/data
networks:
- nextcloud_default
redis:
image: redis
ports:
- 6379:6379
container_name: redis
volumes:
- /root/app/redis/data:/data
- /root/app/redis/conf:/etc/redis/redis.conf
restart: always
networks:
- nextcloud_default
networks:
nextcloud_default:
external: true
五、启动docker-compose
创建网络
docker network create nextcloud_default
启动docker
docker-compose up -d
六、MariaDB数据库配置(必要)
1. 允许任意地址访问数据库
## 复制mariadb配置文件到宿主机
docker cp mariadb:/etc/mysql/mariadb.conf.d/50-serverf /root/50-serverf
vim 50-serverf
## 找到bind-address ,更改为
bind-address = 0.0.0.0
## 把更改后的文件复制到mariadb容器中
docker cp /root/50-serverf mariadb:/etc/mysql/mariadb.conf.d/50-serverf
## 进入mariadb容器中确认是否更改
docker exec -it mariadb bash
cat /etc/mysql/mariadb.conf.d/50-serverf
2.创建nextcloud数据库
## 进入数据库
root@4b04eca13e79:/# mariadb -u root -p
## 创建数据库,user,密码等
CREATE USER 'nextcloud'@'%' IDENTIFIED BY 'XXXXX';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'%';
flush privileges;
## 查看数据库与user是否创建
show databases;
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
3.重启mariadb
docker restart mariadb
七、配置nextcloud
1. 编辑config.php
行末添加
'default_language' => 'zh_CN', #默认语言
'default_locale' => 'zh', #默认地区
'skeletondirectory' => '', #新用户默认无任何文件
'memcache.local' => '\OC\Memcache\Redis', #更改为redis
# 配置内存为redis
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'XXXX', ##宿主机的IP
'port' => 6379,
),
2.配置cron
cd /app/nextcloud/cronsh/
vim nextcloud.sh
内容如下
#!/bin/bash
docker exec --user www-data nextcloud php /var/www/html/cron.php
添加权限
chmod 777 /app/nextcloud/cronsh/nextcloud.sh
添加任务
vim /etc/crontab
*/5 * * * * root /root/app/nextcloud/cronsh/nextcloud.sh
重启服务
systemctl restart cron
3. 安装onlyoffice插件
-
离线下载onyoffice插件:下载地址
-
我的nextcloud是28版本,所以下载对应28版本插件
-
复制插件到宿主机/root/nextcloud/app/nextcloud/data/apps
-
解压插件
root@office:~/nextcloud/app/nextcloud/data/apps# tar -xvf onlyoffice.tar.gz
八、登陆http://IP:8080,初始化nextcloud及配置
1.初始化nextcloud
2.启用插件
3.配置插件
进入onlyoffice容器,获取密钥
docker exec -it onlyoffice bash
cat /etc/onlyoffice/server/local.josl
4.配置onlyoffice字体
onlyoffice原生字体会引起excel中文乱码
需要重新添加字体
解决方法:删除onlyoffice自带字体,并导入新字体
4.1 删除onlyoffice原生字体
docker exec -it onlyoffice /bin/bash
cd /var/www/onlyoffice/documentserver/core-fonts
rm -rf *
cd /usr/share/fonts/
rm -rf *
4.2 拷贝需要的字体到docker中
一、复制windows下的字体到服务器中,例“微软雅黑”、“宋体”
二、复制字体到onlyoffice,并启用字体
docker cp ./fonts/ c31:/usr/share/fonts/truetype/custom/
docker exec -it onlyoffice /bin/bash
cd /usr/bin
documentserver-generate-allfonts.sh
三、验证
本文标签: composeDockerNextcloudRedisONLYOFFICE
版权声明:本文标题:docker-compose部署nextcloud及onlyoffice、redis 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727230266a1103574.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论