说明
想找个文档管理的系统,看到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中的内容,用类似的方法传递环境变量。