看板工具 Wekan 安装配置启动和数据备份

版权声明:版权归博主所有,转载请带上本文链接!联系方式:[email protected] https://blog.csdn.net/isea533/article/details/88078505

简单看看下面介绍。

1. 关于 Wekan

Wekan是 一个完全开源和自由软件的协作看板应用程序,使用 MIT 许可证。

无论您是在维护个人待办事项清单,与朋友一起计划假期,还是在团队中为您的下一个革命性想法工作,看板都是一个无与伦比的工具,可以让您的事情井然有序。它们可以让您直观地了解项目的当前状态,并通过让您专注于最重要的几个项目来提高您的工作效率。

由于Wekan是一款免费软件,因此您无需相信我们的数据,并可以在您自己的计算机或服务器上安装Wekan。实际上,我们鼓励您通过在各种平台上提供一键安装来实现这一目标。

  • 特点:Wekan 具有实时用户界面。并非所有功能都已实现。
  • 平台:Wekan 支持许多平台,计划增加更多平台。如果你想安装它,这将是第一个可以查看、测试和深入了解的地方。
  • 集成:当前可能的集成和未来计划。
  • 团队:那些花时间让Wekan了解现在情况的人。

2. 安装配置

我们最初使用 wekan 时,是在 Unbuntu 上面通过 snap 安装的 wekan,这是最简单的一种方式,只是想要更多自定义配置需要深入了解一些配置,最初想要写本文时,我都写了一部分内容,但是最近发现一些 BUG,导致我今天(3-2)切换到了 Docker 方式。

2.1 Snap 方式,强烈【不】推荐!!!

下面是 snap 方式的注意点,是很早以前的记录,写在这儿只是为了记录,非常强烈的不推荐使用这种方式。

wekan snap 方式配置

配置文件:
https://github.com/wekan/wekan/blob/edge/snap-src/bin/config

以 mongodb 数据库配置为例,在上述配置中,有一段配置如下:

DESCRIPTION_MONGODB_BIND_IP="mongodb binding ip address: eg 127.0.0.1 for localhost\n\t\tIf not >defined default unix socket is used instead"
DEFAULT_MONGODB_BIND_IP="127.0.0.1"
KEY_MONGODB_BIND_IP="mongodb-bind-ip"

这里配置了 mongodb 默认绑定的 IP,使用 127.0.0.1 的情况下,外网无法访问该 mongodb。

官方 snap wekan 使用文档:https://github.com/wekan/wekan-snap/wiki/Install

根据文档介绍,执行下面的命令修改配置:

snap set wekan mongodb-bind-ip="0.0.0.0"

不需要重启,此时外网就可以访问该地址了,其他配置修改方式类似。

需要重启时,执行下面的命令:

systemctl restart snap.wekan.wekan

2.2 为什么不推荐使用 snap?

因为 snap 会强制自动更新,Wekan 项目极其活跃,项目组的人非常积极,这都是好事,问题是 Wekan 的 snap 版本因此每天会有好几个版本出来,你我都是小白鼠,都被用来直接测试!因此如果在生产环境使用,千万不要选择 snap 方式!!

我在 wekan-snap 提的 issue: https://github.com/wekan/wekan-snap/issues/83

2.3 Docker compose 方式

推荐用 Docker,并且用 compose。

官方文档:https://github.com/wekan/wekan-mongodb,文档有完整的用法和配置文件。

我修改的 docker-compose.yml 配置如下:

version: '2'
services:
  wekandb:
    image: mongo:3.2.20
    #-------------------------------------------------------------------------------------
    container_name: wekan-db
    restart: always
    command: mongod --smallfiles --oplogSize 128
    # 由于之前使用 snap 用的 27019 端口,因此我这里做了映射
    ports:
      - 27019:27017
    networks:
      - wekan-tier
    expose:
      - 27017
    volumes:
      - /docker/wekan/data:/data/db
      - /docker/wekan/dump:/dump
  wekan:
    #---------------------------------------------------------------------------------
    image: wekanteam/wekan:v2.17
    #-------------------------------------------------------------------------------------
    container_name: wekan-app
    restart: always
    networks:
      - wekan-tier
    #-------------------------------------------------------------------------------------
    ports:
      - 80:8080
    environment:
      - MONGO_URL=mongodb://wekandb:27017/wekan
      #  改成你自己的地址
      - ROOT_URL=http://localhost
      - WITH_API=true
      - BROWSER_POLICY_ENABLED=true
    depends_on:
      - wekandb
networks:
  wekan-tier:
    driver: bridge

我的改动主要是将 mongo 暴露出去,因为有时需要连到该服务器去检查数据(我们还有一个统计看板绩效的工具)。

另外就是映射 volumes。

直接 docker-compose up -d 启动即可。

2.4 备份数据

备份指定的数据库 wekan,修改后面备份的目录日期

docker exec -it wekan-db /usr/bin/mongodump --port=27017 --db=wekan -o /dump/wekan-20190302

这个命令会在容器中执行备份,容器中的 /dump 就是主机的 /docker/wekan/dump 目录。

还原指定备份目录的数据库,还原到指定的数据库,这里是 wekan3,是一个测试库

还原到主库时要慎重!!

docker exec -it wekan-db /usr/bin/mongorestore --port=27017 --db=wekan3 /dump/wekan-20190302/wekan

2.5 升级

停止服务,修改配置中 wekan 镜像版本即可。

把升级的权限拿在自己手中才放心!!!!!!

2.6 数据隔离

这部分主要针对我们自己的看板绩效工具。

简单查询:
在这里插入图片描述
图表:
在这里插入图片描述
由于要针对看板提供一个绩效的工具,因此要在一个测试库上进行开发,为了方便开发,在原 compose 配置增加一个测试的 mongo 库,主库不对外开放。

version: '2'

services:
  # 测试库
  wekandb-test:
    image: mongo:3.2.20
    #-------------------------------------------------------------------------------------
    container_name: wekan-db-test
    restart: always
    command: mongod --smallfiles --oplogSize 128
    ports:
      - 27019:27017
    expose:
      - 27017
    volumes:
      - /docker/wekan/data-test:/data/db
      - /docker/wekan/dump:/dump
  # 生产库    
  wekandb:
    image: mongo:3.2.20
    #-------------------------------------------------------------------------------------
    container_name: wekan-db
    restart: always
    command: mongod --smallfiles --oplogSize 128
    networks:
      - wekan-tier
    expose:
      - 27017
    volumes:
      - /docker/wekan/data:/data/db
      - /docker/wekan/dump:/dump
  wekan:
    #---------------------------------------------------------------------------------
    image: wekanteam/wekan:v2.17
    #-------------------------------------------------------------------------------------
    container_name: wekan-app
    restart: always
    networks:
      - wekan-tier
    #-------------------------------------------------------------------------------------
    ports:
      - 80:8080
    environment:
      - MONGO_URL=mongodb://wekandb:27017/wekan
      #---------------------------------------------------------------
      - ROOT_URL=http://localhost
      #---------------------------------------------------------------
      - WITH_API=true
      #-----------------------------------------------------------------
      - BROWSER_POLICY_ENABLED=true
    depends_on:
      - wekandb
networks:
  wekan-tier:
    driver: bridge

猜你喜欢

转载自blog.csdn.net/isea533/article/details/88078505