1. 拉取OnlyOffice Document Server镜像
首先,您需要从Docker Hub拉取最新的OnlyOffice Document Server镜像。
sudo docker pull onlyoffice/documentserver
2. 启动OnlyOffice Document Server
方式一:使用Docker命令
使用以下命令启动OnlyOffice Document Server,并将443端口映射到本地的8002端口,80端口映射到9001端口。
docker run -i -t -d -p 8002:443 -p 9001:80 onlyoffice/documentserver
如果您需要禁用JWT(JSON Web Tokens)验证,可以使用以下命令:
docker run -i -t -d -p 8002:443 -p 9001:80 -e JWT_ENABLED=false onlyoffice/documentserver
方式二:使用Docker Compose
创建一个docker-compose.yml
文件,并使用以下配置:
version: '3'
services:
onlyoffice:
image: onlyoffice/documentserver
container_name: onlyoffice
ports:
- "8000:80"
- "8443:443"
restart: always
networks:
- onlyoffice_network
environment:
- ONLYOFFICE_HTTPS_HSTS_ENABLED=true
- USE_UNAUTHORIZED_STORAGE=true
- JWT_SECRET=secret
- JWT_HEADER=AuthorizationJwt
- JWT_IN_BODY=true
volumes:
- /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice
- /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data
- /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice
- /app/onlyoffice/DocumentServer/db:/var/lib/postgresqlnetworks:
onlyoffice_network:
external: true
使用以下命令启动服务:
docker-compose up -d
3. 检查容器状态
使用以下命令查看容器ID:
docker ps
4. 进入容器
使用以下命令进入容器:
docker exec -it [容器ID] /bin/bash
5. 配置HTTPS
在容器内,进入OnlyOffice的数据目录/var/www/onlyoffice/Data
,并创建一个名为certs
的文件夹。
然后,在certs
文件夹中生成SSL证书:
openssl genrsa -out onlyoffice.key 2048
openssl req -new -key onlyoffice.key -out onlyoffice.csr
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
openssl dhparam -out dhparam.pem 2048
6. 重启容器
退出容器并使用以下命令重启:
docker restart [容器ID]
7. 访问测试
现在,您应该可以通过配置的端口访问OnlyOffice Document Server了。
8. 配置域名和SSL证书
如果您已经有了SSL证书,可以使用以下命令将证书转换为OnlyOffice所需的格式:
openssl x509 -in fullchain.pem -out fullchain.crt
openssl rsa -in privkey.pem -out privkey.key
然后,将转换后的证书复制到容器内的certs
文件夹:
docker cp . [容器ID]:/var/www/onlyoffice/Data/certs
确保证书文件名分别为onlyoffice.crt
和onlyoffice.key
。
9. 网络配置
如果容器没有外网的话,需要手动创建和连接网络,可以使用以下命令:
docker network create --driver bridge onlyoffice_network
docker network connect onlyoffice_network [容器名称或ID]
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...