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的配置。
相關文章
相關標籤/搜索