关于源码运行改造

原容器内部docService是pkg打包的node可执行文件,现改造为源码运行。
image.png
.env文件来源
cat /etc/supervisor/conf.d/ds-docservice.conf | grep environment
使用dotenv加载环境变量
index.js为启动脚本入口文件

启动容器

docker run -d -p 80:80 -v /Users/yuwb/Documents/code/iflydocs/onlyoffice-unlimited/docsoffice-docker/server/Common:/var/www/onlyoffice/documentserver/server/Common -v /Users/yuwb/Documents/code/iflydocs/onlyoffice-unlimited/docsoffice-docker/server/DocService:/var/www/onlyoffice/documentserver/server/DocService -v /Users/yuwb/Documents/code/iflydocs/onlyoffice-unlimited/docsoffice-docker/server/FileConverter:/var/www/onlyoffice/documentserver/server/FileConverter/Converter docker.iflydocs.com/docsoffice:20221212

安装node环境

apt-get update
apt-get -y install npm
npm install -y -g n
n 14

node环境配置

apt-get install vim
vi ~/.bashrc

添加两行

export N_PREFIX=/usr/local/bin/node
export PATH=$N_PREFIX/bin:$PATH
source ~/.bashrc

安装vscode插件

  • docker
  • Dev Containers

打开vscode
点击左侧docker图标
attach对应的docker容器
image.png

code /var/www/onlyoffice/documentserver/server

打开代码对应的编辑器窗口
image.png

启动服务

停止原pkg可执行文件运行服务,启动源码

 supervisorctl stop ds:docservice
 supervisorctl stop ds:converter
cd /var/www/onlyoffice/documentserver/server/FileConverter/Common
npm install
cd /var/www/onlyoffice/documentserver/server/DocService
npm install
npm start

因为需要保留FileConverter下的bin目录,所有没有直接载到/var/www/onlyoffice/documentserver/server/FileConverter/目录下,而是下一级Converter。

cd /var/www/onlyoffice/documentserver/server/FileConverter/
拷贝文件到FileConverter目录下,否则目录无法正常加载。
cp -r /var/www/onlyoffice/documentserver/server/FileConverter/Converter/* /var/www/onlyoffice/documentserver/server/FileConverter/
注意.env文件是否拷贝成功.
npm install
npm start

image.png

网页打开分别执行提示脚本,然后新建,打开编辑页即可。

image.png