说明
想找个文档管理的系统,看到mindoc,就折腾了一下
MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。
MinDoc 的前身是 SmartWiki 文档系统。SmartWiki 是基于 PHP 框架 laravel 开发的一款文档管理系统。因 PHP 的部署对普通用户来说太复杂,所以改用 Golang 开发。可以方便用户部署和实用。
开发缘起是公司IT部门需要一款简单实用的项目接口文档管理和分享的系统。其功能和界面源于 kancloud 。
可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。
映像
官方构建的:registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1
某博主构建的:registry.cn-hangzhou.aliyuncs.com/ic-labor/mindoc:240424
容器编排
直接给出带注释的mindoc+LDAP认证+MariaDB+Redis的docker-compose.yaml
version: "3.9" networks: private: driver: bridge ipam: config: - subnet: 172.18.18.0/24 gateway: 172.18.18.1 services: app: image: registry.cn-hangzhou.aliyuncs.com/ic-labor/mindoc:240424 container_name: mindoc-app networks: - private environment: TZ: Asia/Shanghai MINDOC_BASE_URL: https://mindoc.example.com:8080 # 反向代理的网址 # database MINDOC_DB_ADAPTER: MySQL MINDOC_DB_HOST: db MINDOC_DB_PORT: 3306 MINDOC_DB_DATABASE: mindocapp MINDOC_DB_USERNAME: mindoc MINDOC_DB_PASSWORD: MINd0c@pp # performance MINDOC_ENABLE_EXPORT: true MINDOC_EXPORT_PROCESS_NUM: 2 MINDOC_CACHE: true MINDOC_CACHE_PROVIDER: redis MINDOC_CACHE_REDIS_HOST: redis:6379 MINDOC_CACHE_REDIS_DB: mindoc #MINDOC_CACHE_REDIS_PREFIX: mindoc::cache MINDOC_CACHE_REDIS_PASSWORD: redisMIND0c@pp # LDAP MINDOC_LDAP_ENABLE: true MINDOC_LDAP_SCHEME: ldap MINDOC_LDAP_HOST: 192.168.18.30 MINDOC_LDAP_PORT: 389 MINDOC_LDAP_ACCOUNT: cn MINDOC_LDAP_MAIL: mail MINDOC_LDAP_BASE: dc=example,dc=org MINDOC_LDAP_USER: uid=root,cn=users,dc=example,dc=org # 群晖的LDAP服务器 MINDOC_LDAP_PASSWORD: yourLDAPpassword MINDOC_LDAP_USER_ROLE: 2 MINDOC_LDAP_FILTER: objectClass=posixAccount volumes: - ./app/conf:/mindoc/conf - ./app/static:/mindoc/static - ./app/views:/mindoc/views - ./app/upload:/mindoc/uploads - ./app/runtime:/mindoc/runtime - /etc/localtime:/etc/localtime:ro ports: - "8282:8181" restart: unless-stopped depends_on: - db - redis db: image: linuxserver/mariadb container_name: mindoc-db networks: - private environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: MINd0c@ppr00t MYSQL_USER: mindoc MYSQL_PASSWORD: MINd0c@pp MYSQL_DATABASE: mindocapp volumes: - ./db:/config - /etc/localtime:/etc/localtime:ro restart: unless-stopped redis: image: redis container_name: mindoc-redis networks: - private environment: TZ: Asia/Shanghai volumes: - ./redis:/data - /etc/localtime:/etc/localtime:ro restart: unless-stopped command: redis-server --requirepass redisMIND0c@pp #设置redis的密码,需和MINDOC_CACHE_REDIS_PASSWORD一致
需要说明的是,网上很多教程都需要改app.conf文件,而最新的源码已支持在app.conf中读入环境变量。因此,我们只需要在docker-compose.yaml中直接定义所需的环境变量即可,不用去改app.conf。如果列位有自己的需求,也可以先去看app.conf中的内容,用类似的方法传递环境变量。