Docker Compose 部署魔豆文库

请确保对docker-compose有一定的基础。

1.下载docker版魔豆文库系统。

https://gitee.com/mnt-ltd/moredoc/releases

Docker Compose 部署魔豆文库 - 图1

2. 解压下载包

将下载包上传到相应目录,解压。

2.1 设置MySQL的sql_mode

修改 docker-compose.yml文件,在 moredoc-mysql: 层级下,增加:

  1. ...
  2. moredoc-mysql:
  3. image: mysql:8.0.36
  4. container_name: moredoc-mysql
  5. command:
  6. - --sql_mode=ALLOW_INVALID_DATES,NO_ZERO_DATE
  7. ...

主要是为了处理一些环境下,挂载的my.cnf不生效的问题。

2.2 修改JWT

修改 docker-compose.yml文件,找到MOREDOC_JWT_SECRET配置项,修改任意值。

  1. ...
  2. - MOREDOC_JWT_SECRET="helloworld"
  3. ...

2.3 完整 docker-compose.yml 示例

完整示例

  1. version: '3'
  2. networks:
  3. moredoc-network:
  4. # driver: bridge
  5. external: false
  6. services:
  7. moredoc-mysql:
  8. image: mysql:8.0.36
  9. container_name: moredoc-mysql
  10. command:
  11. - --sql_mode=ALLOW_INVALID_DATES,NO_ZERO_DATE # Make sure to leave out the double quotes
  12. environment:
  13. - MYSQL_ROOT_PASSWORD=moredoc
  14. - TZ=Asia/Shanghai
  15. volumes:
  16. - ./mysql/data:/var/lib/mysql
  17. - ./mysql/conf/my.cnf:/etc/mysql/my.cnf
  18. networks:
  19. - moredoc-network
  20. restart: always
  21. # 如果需要外部访问数据库,则开放端口
  22. # ports:
  23. # - "127.0.0.1:3306:3306"
  24. moredoc-server:
  25. build: .
  26. container_name: moredoc-server
  27. environment:
  28. - MOREDOC_DATABASE_DSN=root:moredoc@tcp(moredoc-mysql:3306)/moredoc?charset=utf8mb4&loc=Local&parseTime=true
  29. # 【改】请务必更换为自己的JWT_SECRET,建议使用随机字符串
  30. - MOREDOC_JWT_SECRET="helloworld"
  31. depends_on:
  32. - moredoc-mysql
  33. networks:
  34. - moredoc-network
  35. ports:
  36. - "8880:8880"
  37. volumes:
  38. - ./server:/home/moredoc
  39. restart: always

2.4 运行compose指令

  1. sudo docker-compose up -d

3. 配置

通过上述指令,安装完成之后,进入后台对系统进行配置,参考:

https://www.bookstack.cn/read/moredoc/install-linux.md#%E7%A8%8B%E5%BA%8F%E9%85%8D%E7%BD%AE