Taiga Setup using Docker-compose

2018-12-22  本文已影响0人  Jamie25

Taiga简要介绍

Taiga是一款免费开源项目管理系统,比较适用于中小型敏捷项目管理,支持Scrum和kanban两种board 模板来跟踪项目的进度,同时还提供了丰富的第三方应用集成支持,如:视频会议功能与Talky.ioAppear.in的第三方服务结合;与基于Web的版本控制存储库(如GitHub和Bitbucket)进行交互;以及实时聊天工具slack集成等. 具体详细介绍,请参见https://taiga.io/,我们就直接进入setup 环节

Taiga 安装

安装先决条件

准备docker-compose.yml

内容如下:

version: '2'    
services:
  taiga:
    image: benhutchins/taiga
    restart: always
    ports:
      - 8043:80 
      # - 443:443 # To enable SSL, uncomment this line. See "Enable SSL" below.
    depends_on:
      - postgres
      - postfix

      # To enable taiga-events, uncomment the following lines:
      # - events
      # - rabbit
      # - redis
    environment:
      # Hostname for your instance of Taiga. Required.
      #TAIGA_HOSTNAME:  IP or FQDN
      TAIGA_HOSTNAME: taiga.xxx.com

      # Database variables. Required.
      TAIGA_DB_HOST: postgres
      TAIGA_DB_NAME: taigadb
      TAIGA_DB_USER: taiga
      TAIGA_DB_PASSWORD: 123456
      # Enable SSL internally, within the Docker container. Optional.
      # This is not great. I suggest using something on top of this
      # to enable SSL. See the example example-nginx-ssl.conf file
      # for an alternative way to enable SSL.
      # TAIGA_SSL: 'True'

      # Enable SSL externally, preferred method
      # TAIGA_SSL_BY_REVERSE_PROXY: 'True'
    volumes:
      # Media and uploads directory. Required (or you will lose all uploads)
      - ./media:/usr/src/taiga-back/media

      # Taiga configuration directory. Makes it easier to change configuration.
      - ./taiga-conf:/taiga

  postgres:
    image: postgres
    restart: always
    environment:
      POSTGRES_DB: taigadb
      POSTGRES_USER: taiga
      POSTGRES_PASSWORD: 123456
    ports:
      - 5432
     # expose port or not depends on you
    volumes:
      # Postgres data directory. This ensures the database is not lost.
      - ./pgdata:/var/lib/postgresql/data

  postfix:
    image: catatnight/postfix
    restart: always
    environment:
      smtp_user: taiga_user:password,taiga_user1:password1
      #  you can add user as above
      maildomain: taiga-xxx.com
     # vitual domain name, set it as whatever you like
    ports:
      - 25

  # To enable taiga-events, uncomment the following lines:
  # rabbit:
  #   image: rabbitmq:3
  #   hostname: rabbit
  #
  # redis:
  #   image: redis:3
  #
  # celery:
  #   image: celery
  #   links:
  #     - rabbit
  #
  # events:
  #   image: benhutchins/taiga-events
  #   links:
  #     - rabbit
说明
  1. taiga - benhutchins/taiga:latest taiga的docker镜像很多,但是很多都在2015年以后没有维护,且不容易setup成功。taiga github上主要分为taiga-front and taiga-back两大工程,而且没有‘官方’的docker images
  2. postgres - postgresql,taiga主要采用postgres来存过程数据
  3. postfix - SMTP server,optional, 由于taiga很多项目动态都是通过邮件提醒,可以设置一个自己有效的SMTP 配置而不用postfix或者其他的类似的SMTP 实现方式。
  4. 其他几个services,如celery,events等不setup暂时也不影响使用,暂时还没有深入去看。

taiga 配置

我们在上面配置taiga docker-compose file的时候,有一个数据卷的配置

 ./taiga-conf:/ taiga  

我们可以在taiga-conf目录下放置 taiga的配置信息,主要有两个文件:

下面我们来看看这两个文件的内容:

conf.json
{
    "api": "http://{FQDN:port | ip:port}/api/v1/",
    "eventsUrl": null,
    "eventsMaxMissedHeartbeats": 5,
    "eventsHeartbeatIntervalTime": 60000,
    "eventsReconnectTryInterval": 10000,
    "debug": false,
    "debugInfo": false,
    "defaultLanguage": "en",
    "themes": ["taiga"],
    "defaultTheme": "taiga",
    "publicRegisterEnabled": true,
    "gravatar": false,
    "feedbackEnabled": false,
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": [],
    "tribeHost": null,
    "importers": []
}
这部分主要需要修改的参数有:1> api - 修改host和端口,提供对外访问的路径(这个端口需要和compose文件定义的taiga的端口映射保持一致);2>publicRegisterEnabled 是否开启用户自动注册,如果是false,则只能通过项目product owner/admin邀请的方式加入项目,否则无法成为系统的user,如下图 1.png

3> 其他配置项目,如 defaultLanguage设置taiga的默认显示语言等,contribPlugins加载其他插件/应用

local.py
from .docker import *

PUBLIC_REGISTER_ENABLED = True
DEBUG = False
TEMPLATE_DEBUG = False

#ADMINS = (
#    ("Admin", "taiga_service@taiga-csi.com")
#)

## Slack
# https://github.com/taigaio/taiga-contrib-slack
#INSTALLED_APPS += ["taiga_contrib_slack"]

## LDAP
# see https://github.com/ensky/taiga-contrib-ldap-auth
# INSTALLED_APPS += ["taiga_contrib_ldap_auth"]

# Allow Domain - other mail domain will be blocked when register/invite team member
USER_EMAIL_ALLOWED_DOMAINS = ["xxx.com","taiga-xxx.com"]

# PUCLIC OR PRIVATE NUMBER OF PROJECT PER USER
MAX_PRIVATE_PROJECTS_PER_USER = None # None == no limit
MAX_PUBLIC_PROJECTS_PER_USER = None # None == no limit
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = False
EMAIL_HOST = 'postfix'
EMAIL_PORT = 25
EMAIL_HOST_USER = 'taiga_user@taiga-xxx.com'
EMAIL_HOST_PASSWORD = 'password of taiga_user'

DEFAULT_FROM_EMAIL = 'taiga_user@taiga-xxx.com'
SERVER_EMAIL = 'taiga_user@taiga-xxx.com'    

## For additional configuration options, look at:
# https://github.com/taigaio/taiga-back/blob/master/settings/local.py.example

这部分主要配置了邮件SMTP的信息,当然了taiga还有其他支持的一些配置参数,可以在taiga github项目的local.py 样例去查看

运行docker compose命令

让taiga运行起来,运行的过程中会初始化很多数据表的配置

docker-compose up -d

但运行起来我们就可以访问了:http://host:port, 点击login,默认的用户和密码为:admin/123456,如果可以成功登陆,则恭喜你,你的setup完成了,可以开始去创建项目了去体验taiga的特性
图2-taiga welcome page

Taiga Admin管理入口for superuser

taiga也提供了superuser管理界面,方便admin去管理用户和项目,因为在上面的访问页面中 admin用户即使登陆进去了也没有入口去查看系统的user和user创建的private项目,所以需要一个管理端入口给superuser去使用。admin用户是默认的系统superuser,当然了也可以把某个用户设置为超级用户
说了这么多,还没有说超级用户入口的地址呢,它就是http://host:port/admin/,进入后页面如下图所示,
图3-taiga Django admin page

备注:

  1. 上面所说是基于Taiga的开源版本,如果想了解taiga的商业版本请访问https:taiga.io进行咨询和了解。
  2. 本文主要是记录了自己setup taiga过程,如有错误/遗漏,欢迎指正。
上一篇 下一篇

猜你喜欢

热点阅读