一、安装可道云
首先创建一个目录作为项目目录,后面所有命令都在这个目录下执行
mkdir /kodbox && cd /kodbox需在
db.env中设置数据库密码,还有yml中的MYSQL_ROOT_PASSWORD需补充.
创建文件来设置数据库环境变量vim db.env
MYSQL_PASSWORD=
MYSQL_DATABASE=kodbox
MYSQL_USER=kodbox创建 compose.yml 文件,在其中配置映射端口、持久化目录
$ vim compose.yml
阿里云容器镜像地址
services:
db:
image: registry.cn-hangzhou.aliyuncs.com/kodcloud/mariadb:10.6
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- "./db:/var/lib/mysql" #./db是数据库持久化目录,可以修改
# - "./etc/mysql/conf.d:/etc/mysql/conf.d" #增加自定义mysql配置
environment:
- MYSQL_ROOT_PASSWORD=
- MARIADB_AUTO_UPGRADE=1
- MARIADB_DISABLE_UPGRADE_BACKUP=1
env_file:
- db.env
app:
image: registry.cn-hangzhou.aliyuncs.com/kodcloud/kodbox
restart: always
ports:
- 80:80 #左边80是使用端口,可以修改
volumes:
- "文件路径/site:/var/www/html" #./site是站点目录位置,要修改
- "文件路径/mydoc:/var/www/mydoc" #./mydoc是站点目录位置,要修改 ,/var/www/mydoc是容器内文件夹,要给权限。
environment:
- MYSQL_HOST=db
- REDIS_HOST=redis
env_file:
- db.env
depends_on:
- db
- redis
redis:
image: registry.cn-hangzhou.aliyuncs.com/kodcloud/redis:alpine
restart: always二、增加使用onlyoffice在线编辑
services:
db:
image: registry.cn-hangzhou.aliyuncs.com/kodcloud/mariadb:10.6
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- "/home/docker/kodbox/db:/var/lib/mysql" #./db是数据库持久化目录,可以修改
# - "./etc/mysql/conf.d:/etc/mysql/conf.d" #增加自定义mysql配置
environment:
- MYSQL_ROOT_PASSWORD=chenfeng1554
- MARIADB_AUTO_UPGRADE=1
- MARIADB_DISABLE_UPGRADE_BACKUP=1
env_file:
- db.env
app:
image: registry.cn-hangzhou.aliyuncs.com/kodcloud/kodbox
restart: always
ports:
- 5566:80 #左边80是使用端口,可以修改
volumes:
- "/home/docker/kodbox/site:/var/www/html" #./site是站点目录位置,可以修改
- "/Volume2/mydoc/:/var/www/mydoc"
environment:
- MYSQL_HOST=db
- REDIS_HOST=redis
env_file:
- db.env
depends_on:
- db
- redis
redis:
image: registry.cn-hangzhou.aliyuncs.com/kodcloud/redis:alpine
restart: always
office:
image: documentserver:8.2.2 #这个镜像要自己去找,社区版本有功能限制,建议直接装解锁版
restart: always
ports:
- 8001:80
environment:
- PRODUCTION_EDITION=true
- REDIS_ENABLED=false
- JWT_ENABLED=false #这个环境变量要配置。不然会报错
- REDIS_SERVER_HOST=localhost- JWT_ENABLED=false #这个环境变量要配置。不然onlyoffice会提示安全文档安全令牌的格式不正确请与您的文档服务器管理员联系
进入项目目录,执行docker compose up -d启动命令,会自动拉取容器并运行。
三、挂载的本地目录无法读取解决办法
这时候可以进入可道云后台,但是发现挂载的目录无法读取,是因为没有权限读取’“/var/www/mydoc”,这时候进入容器
docker exec -it [容器名] bash
chown -R nginx:nginx /var/www/mydoc再次进去可道云,即可读写文件。更改默认存储即可。
四、如何配置 https 访问
若全站采用 https 访问 office,需要配置 nginx 反向代理来实现 https 转 http,可以参考官方安装手册:https://docs.kodcloud.com/setup/office/。这个方法比较复杂。
还有一种比较笨的方法,直接使用反向代理,将onlyoffice代理成https访问。因为我的反向代理和onlyoffice不在一个IP上所以反代起来很方便。

到了这里,就可以顺利使用了。
五、olnyOffice插件中删除字体
先要进入容器删除onlyoffice原有字体,注意:如果只是添加字体,且想使用原有字体的话那么就不用删除原有字体
# 进入容器
sudo docker exec -it onlyoffice bash
# 进入容器后执行
cd /usr/share/fonts/
rm -rf *
cd /var/www/onlyoffice/documentserver/core-fonts/
rm -rf *六、olnyOffice插件中添加中文字体
1.只需要下载自己需要的字体放入/usr/share/fonts/truetype/custom文件夹。如果没有权限直接进入文件夹
cd app/onlyoffice/front #字体临时存放的文件夹
docker cp 方正黑体简体.TTF onlyoffice:/usr/share/fonts/truetype/custom #要把字体从临时文件夹拷贝到custom文件夹2.重新进入onlyoffice容器中,执行/usr/bin/documentserver-generate-allfonts.sh命令生成onlyoffice可用字体。
提示:
$ usr/bin/documentserver-generate-allfonts.sh
Generating AllFonts.js, please wait...Done
Generating presentation themes, please wait...Done
ds:docservice: stopped
ds:docservice: started
ds:converter: stopped
ds:converter: started重启onlyoffice容器,发现新增字体已经可用了。