Taiga简要介绍
Taiga是一款免费开源项目管理系统,比较适用于中小型敏捷项目管理,支持Scrum和kanban两种board 模板来跟踪项目的进度,同时还提供了丰富的第三方应用集成支持,如:视频会议功能与Talky.io和Appear.in的第三方服务结合;与基于Web的版本控制存储库(如GitHub和Bitbucket)进行交互;以及实时聊天工具slack集成等. 具体详细介绍,请参见https://taiga.io/,我们就直接进入setup 环节
Taiga 安装
安装先决条件
安装了docker的linux机(暂时不讨论swarm情况,做法也是基本类似的)
一个域名(然了没有也可以暂时使用ip)
准备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
说明
- taiga - benhutchins/taiga:latest taiga的docker镜像很多,但是很多都在2015年以后没有维护,且不容易setup成功。taiga github上主要分为taiga-front and taiga-back两大工程,而且没有‘官方’的docker images
- postgres - postgresql,taiga主要采用postgres来存过程数据
- postfix - SMTP server,optional, 由于taiga很多项目动态都是通过邮件提醒,可以设置一个自己有效的SMTP 配置而不用postfix或者其他的类似的SMTP 实现方式。
- 其他几个services,如celery,events等不setup暂时也不影响使用,暂时还没有深入去看。
taiga 配置
我们在上面配置taiga docker-compose file的时候,有一个数据卷的配置
./taiga-conf:/ taiga
我们可以在taiga-conf目录下放置 taiga的配置信息,主要有两个文件:
- conf.json - Taiga front 的配置
- local.py - Taiga back的配置
下面我们来看看这两个文件的内容:
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,如下图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
备注:
- 上面所说是基于Taiga的开源版本,如果想了解taiga的商业版本请访问https:taiga.io进行咨询和了解。
- 本文主要是记录了自己setup taiga过程,如有错误/遗漏,欢迎指正。