# 免费企业知识管理工具—牵牛电子帮助手册安装
最近一直在找一个能代替语雀的知识管理工具,直到看到‘牵牛’,今天给大家分享一下安装方法,比较时候搭建 帮助文档、产品帮助中心等。
今天就用docker-compose安装牵牛知识文档系统。
# 牵牛是什么?
牵牛一款企业知识管理工具,通过独立的知识库空间,结构化地组织在线协作文档,实现企业知识的积累和沉淀,促进知识的高度复用和流通。
# 牵牛官网
https://fx.beebox.cc/eman/official (opens new window)
# 帮助文档
https://fx.beebox.cc/eman/pub/a/n6sY7W6rn
# Docker私有化部署网址
https://hub.docker.com/r/beeboxcc/eman-app
# 安装环境
系统: centos7 (其他支持docker和docker-compose都可以)
IP: 192.168.1.15
docker 和 docker-compose 版本最好是最新的,本人使用1.13.1 和 1.18.0的都报错了,无奈升级版本才能
# docker -v (此版本不支持,一定要升级)
Docker version 1.13.1, build 7d71120/1.13.1
升级docker后
# docker -v
Docker version 24.0.6, build ed223bc
# docker-compose -v (此版本不支持,一定要升级)
docker-compose version 1.18.0, build 8dd22a9
# docker-compose -v
Docker Compose version v2.22.0
2
3
4
5
6
7
8
9
10
11
12
13
# 拉取镜像
docker pull beeboxcc/eman-app:latest
docker pull beeboxcc/eman-web:latest
2
大陆地区的速度简直不忍直视,下了几个小时还没好。

用香港的服务器下载,再导出导入
# 在香港服务器拉取镜像
docker pull beeboxcc/eman-app:latest
docker pull beeboxcc/eman-web:latest
2
# 导出镜像
# docker images
REPOSITORY                                                     TAG                 IMAGE ID            CREATED             SIZE
docker.io/beeboxcc/eman-app                                    latest              7b39786dd8cd        3 months ago        2.44 GB
docker.io/beeboxcc/eman-web                                    latest              2e966ec26bd5        3 months ago        193 MB
导出:
# docker save docker.io/beeboxcc/eman-app:latest | gzip > eman-app_latest.tar.gz
# docker save docker.io/beeboxcc/eman-web:latest | gzip > eman-web_latest.tar.gz
2
3
4
5
6
7
8
# 导入镜像
将文件下载再
查看镜像:
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
导入:
docker load < eman-app_latest.tar.gz
docker load < eman-web_latest.tar.gz
查看镜像:
# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
docker.io/beeboxcc/eman-app   latest              7b39786dd8cd        3 months ago        2.44 GB
docker.io/beeboxcc/eman-web   latest              2e966ec26bd5        3 months ago        193 MB
2
3
4
5
6
7
8
9
10
11
12
13
14
# 编写docker-compose.yml
vi docker-compose.yml
说明: 根据需要编写 docker-compose.yml 文件
这里我把eman-web的端口改成 81,因为nginx占用80端口,如果不改可以直接用ip访问。
version: "3.7"
networks:
  eman:
    driver: bridge
services:
  postgresql:
    image: "abcfy2/zhparser:14-alpine"
    container_name: postgresql
    hostname: postgresql
    restart: always
    ports:
      - "5432:5432"
    environment:
      TZ: Asia/Shanghai
      POSTGRES_PASSWORD: admin
      POSTGRES_DB : emandb
    volumes:
      - ./data/postgresql-data:/var/lib/postgresql/data
    networks:
      - eman
  redis:
    image: "bitnami/redis:6.2"
    container_name: redis
    hostname: redis
    restart: always
    ports:
      - "6379:6379"
    environment:
      TZ: Asia/Shanghai
      REDIS_PASSWORD: admin
    networks:
      - eman
  eman-web:
    image: beeboxcc/eman-web
    container_name: eman-web
    hostname: eman-web
    restart: always
    environment:
      TZ: Asia/Shanghai
    ports:
      - "81:80"
    depends_on:
      - eman-app
    links:
      - eman-app:eman-app
    networks:
      - eman
  eman-app:
    image: beeboxcc/eman-app
    container_name: eman-app
    hostname: eman-app
    restart: always
    environment:
      POSTGRESQL_HOST: postgresql
      POSTGRESQL_PORT: 5432
      POSTGRESQL_USER: postgres
      POSTGRESQL_PASSWORD: admin
      REDIS_HOST: redis
      REDIS_PORT: 6379
      REDIS_PASSWORD: admin
      TZ: Asia/Shanghai
    volumes:
      - ./data/eman-app:/project-files
    networks:
      - eman
    depends_on:
      - postgresql
    links:
      - postgresql:postgresql
      - redis:redis
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
在 docker-compose.yml 文件夹执行命令 docker compose up -d 等待执行完成后,可以访问 $ip/eman
# docker-compose up -d
 
 报错:
# docker-compose up -d
ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
2
3
4
5
6
7
# 重新安装docker-compose
# yum remove docker-compose
# sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# sudo chmod +x /usr/local/bin/docker-compose
# /usr/local/bin/docker-compose -v
Docker Compose version v2.22.0
2
3
4
5
6
7
8
再次执行
# docker-compose up -d
✔ e2a4ef11f57c Download complete                                                                                                         157.2s 
missing signature key
原来是docker版本太低的问题,升级docker版本
2
3
4
5

# 访问牵牛
浏览器访问:
http://192.168.1.15/eman
默认管理员账户密码为 
admin@eman.com
123456
2
3
4
5

登陆完成后可以在右上角企业名称单击,会有弹出菜单
企业设置: 用于修改企业信息
用户管理:用于本地管理用户重置密码等 用户操作空间需要先在空间设置-成员管理-邀请成员-搜索并添加成员,然后分配对应权限后才可以进行操作
# 使用域名访问
配置nginx代理
假设域名: eman.3xxx.com
server {
        listen       80;
        server_name  eman.3xxx.com;
        #root /data/web/;
        access_log /data/wwwroot/log/eman.3xxx.com-access.log;
        error_log /dev/null;
        location / {
                index  index.html index.htm index.php;
                proxy_pass      http://192.168.1.15:81;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
绑定hosts: 192.168.1.15 eman.3xxx.com 再用域名访问 http://eman.3xxx.com/eman/login
