Taiga 容器部署

taiga

taiga 组件介绍

Taiga-front

由angularjs和coffeescript搭建的一个前端,能够运行在nginx中的静态网站。taiga/taiga-front前端

taiga/taiga-front-dist 是taiga-front编译完版本,若是只是部署,可使用这个版本。python

Taiga-back

由django和python3编写的一个后台APIs服务。taiga/taiga-backnginx

Taiga-docker 部署步骤

准备一个有docker环境的机器,具体安装参见官方Docker Installgit

克隆该项目到本地

码云的项目地址https://gitee.com/tableExchange/taiga-docker.gitangularjs

Github的分支地址https://github.com/jussker/taiga-docker.gitgithub

原项目是GitHub上的ipedrazas维护的,地址https://github.com/ipedrazas/taiga-docker/docker

由于用原项目教程没部署起来,因此分支从新修改了一下。最近原项目更新了,有兴趣的能够尝试下,增长了k8s的部署脚本。数据库

git clone -b master --single-branch https://gitee.com/tableExchange/taiga-docker.git ~/taiga-docker
cd ~/taiga-docker

编译docker镜像

cd ~/taiga-docker/backend
./build.sh jussker-dev/taiga-back:dev

其中将jussker-dev/taiga-back:dev换成本身的镜像名称django

cd ~/taiga-docker/frontend
./build.sh jussker-dev/taiga-front:dev

其中将jussker-dev/taiga-front:dev换成本身的镜像名称json

修改docker-compose.yml

将镜像改成本身的镜像名称,修改修改的地方以下所示:

docker-compose.yml

...
  taigabackend:
    image: jussker-dev/taiga-back:dev
...
  taigafrontend:
    image: jussker-dev/taiga-front:dev
...

启动服务

若是环境中已经有容器编排工具,则将docker-compose.yml提交给编排工具进行部署。

若是环境中尚未,则能够安装docker-compose,安装步骤参考官方的Install Docker Compose.这里演示使用docker-compose.

若是是部署在服务器上,则将docker-compose文件中的localhost替换为实际ip,若是文件中的端口已经被占用,则修改成新端口。8000后端api服务端口,8080前端服务端口。

cd ~/taiga-docker
docker-compose create
docker-compose start

进行初始化

初始化过程须要进入taigabackend容器中

docker ps

找到taigabackend的容器id

CONTAINER ID        IMAGE                                                                                         COMMAND                  CREATED             STATUS              PORTS                    NAMES
ef5f0541b8e0        jussker-dev/taiga-front:dev                                                                   "/taiga/run.sh"          2 minutes ago       Up 52 seconds       0.0.0.0:8080->80/tcp     taigadocker_taigafrontend_1
8a58837b1201        jussker-dev/taiga-back:dev                                                                    "python manage.py ..."   2 minutes ago       Up 52 seconds       0.0.0.0:8000->8000/tcp   taigadocker_taigabackend_1
92b4f7a956cc        postgres                                                                                      "docker-entrypoint..."   2 minutes ago       Up 52 seconds       5432/tcp                 taigadocker_postgresdb_1
#进入容器
docker exec -it 8a58837b1201 /bin/bash

这样咱们进入到容器中

初始化过程须要两步,初始化数据库和初始化静态文件,以下命令在taigabackend的容器中执行

#初始化数据库
chmod u+x ./regenerate.sh
./regenerate.sh

#初始化静态文件
python manage.py collectstatic
#退出容器
exit

查看界面

登录taiga的地址http://localhost:8080/便可查看。管理员帐户admin,密码123123

Django的管理界面http://localhost:8080/admin/能够查看数据库元数据。管理员帐户admin,密码123123

特殊状况

若是须要将taiga的服务部署在不一样的机器或者网段中,则须要注意将以下环境变量配置称为实际的地址

  • "MEDIA_URL=http://taiga-front:port/media/"
  • "STATIC_URL=http://taiga-front:port/static/"

将后端存储用户文件的uri或url 配置成实际提供文件服务的地址。若是有必要,也是要修改前端nginx代理。

须要了解的是,Taiga中文件或资源地址是由后端生成好后,发送给前端服务的,地址就是由MEDIA_URLSTATIC_URL决定其前缀。

MEDIA_URL=/media/,则实际的地址为http://taiga-backend:8001/media/

MEDIA_URL=http//192.168.1.101:8001/media/,则实际地址仍是http//192.168.1.101:8001/media/

docker-compose中环境变量说明

Postgres的配置

  • "POSTGRES_HOST=postgresdb" 数据地址
  • "POSTGRES_DB=taiga" 数据库名
  • "POSTGRES_USER=taiga" 数据库登录用户名
  • "POSTGRES_PASSWORD=taiga" 数据库登录密码

Taiga-backend的配置

  • "API_BASE_PROTOCOL=http" 后端api使用的协议类型
  • "API_BASE_DOMAIN=taigabackend" 后端api对外的域名或者ip
  • "API_BASE_PORT=8000" 后端api的端口
  • "FRONT_BASE_PROTOCOL=http" 前端服务的协议类型
  • "FRONT_BASE_DOMAIN=taigafrontend" 前端服务的域名或者ip
  • "FRONT_BASE_PORT=80" 前端服务的端口
  • "MEDIA_URL=/media/" 后端存储用户文件的uri或url
  • "STATIC_URL=/static/" 后端网页静态资源的uri或url
  • "EMAIL_HOST=smtp.domain.com" 后端邮件功能所使用的服务地址
  • "EMAIL_PORT=25" 后端邮件功能所使用的服务端口
  • "EMAIL_HOST_USER=yourmail@domain.com" 邮箱帐号
  • "EMAIL_HOST_PASSWORD=yourpassword" 邮箱密码
  • "DEFAULT_FROM_EMAIL=yourmail@domain.com" 默认的发件人
  • "EMAIL_SUBJECT_PREFIX=taiga-noreplay" 邮件主题前缀
  • "EMAIL_USE_TLS=False" ssl功能是否开启,由于多数邮箱服务的ssl功能开启复杂,这里只作测试,因此这里选择了False。

Taiga-frontend的配置

  • "BASE_DOMAIN=taigabackend:8000" 后端api的地址
  • "BASE_PROTOCOL=http" 后端api使用的协议类型

其余配置文件

这些变量均是从taiga的配置文件中获得的,这里为了方便部署因此单独领出来。更多配置能够参考源代码中的以下配置文件

taiga-backend

  • taiga-back/settings/common.py 系统默认配置
  • taiga-back/settings/local.py 用户自定义配置,若是修改默认配置,在这里从新定义便可

taiga-frontend

  • taiga-front/conf/conf.json 若是修改默认配置,在这里从新定义便可,记得备份。

其余

  • taiga-docker的前端是部署在nginx上的,能够配置nginx的配置。
相关文章
相关标签/搜索