Taiga容器部署
taiga 元件介紹
Taiga-front
由angularjs和coffeescript搭建的一個前端,可以執行在nginx中的靜態網站。taiga/taiga-front
taiga/taiga-front-dist 是taiga-front編譯完版本,如果只是部署,可以使用這個版本。
Taiga-back
由django和python3編寫的一個後臺APIs服務。taiga/taiga-back
Taiga-docker 部署步驟
準備一個有docker環境的機器,具體安裝參見官方Docker Install
克隆該專案到本地
碼雲的專案地址https://gitee.com/tableExchange/taiga-docker.git
Github的分支地址https://github.com/jussker/taiga-docker.git
原專案是GitHub上的ipedrazas維護的,地址https://github.com/ipedrazas/taiga-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
換成自己的映象名稱
cd ~/taiga-docker/frontend
./build.sh jussker-dev/taiga-front:dev
其中將jussker-dev/taiga-front:dev
換成自己的映象名稱
修改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_URL
和STATIC_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的配置。
本文轉自掘金-Taiga 容器部署
相關文章
- 1.06 docker Compose多容器部署Docker
- jmeter 叢集容器化部署JMeter
- 容器化部署實踐之Django應用部署(二)Django
- .NET Core容器化之多容器應用部署(Docker-Compose)Docker
- 9、Ktor學習-部署之容器;
- springboot專案部署到tomcat容器Spring BootTomcat
- 如何快速部署容器化應用
- Docker容器化部署Python應用DockerPython
- 使用Portainer部署Docker容器實踐AIDocker
- Docker容器化部署嘗試——多容器通訊(node + mongoDB + nginx)DockerMongoDBNginx
- 在 Azure 中部署 Kubernetes 容器叢集
- NET Core+MySql+Nginx 容器化部署MySqlNginx
- 容器化部署GVM掃漏系統
- 微服務容器部署與持續整合微服務
- Asp.Net Core Blazor之容器部署ASP.NETBlazor
- PowerJob高階特效-容器部署完整教程特效
- 使用Docker容器化部署實踐之Django應用部署(一)DockerDjango
- Docker容器與虛擬化技術:OpenEuler 部署 docker容器應用Docker
- 3568F-Docker容器部署方法說明Docker
- Docker的安裝與容器應用部署Docker
- Docker容器裡部署Apache+PHP+MariaDB+phpMyAdminDockerApachePHP
- Vue.js應用程式容器化部署Vue.js
- 容器化 | 在 KubeSphere 中部署 MySQL 叢集MySql
- Ubuntu2204部署容器引擎ContainerdUbuntuAI
- 給小白的 PG 容器化部署教程(下)
- 給小白的 PostgreSQL 容器化部署教程(上)SQL
- Nginx反向代理負載均衡的容器化部署Nginx負載
- Docker容器中部署Django的時區問題DockerDjango
- 容器化 | 在 Kubernetes 上部署 RadonDB MySQL 叢集MySql
- Ubuntu_amd64容器化部署chromedriver的過程UbuntuChrome
- Kubernetes 部署 PHP-fpm 與 nginx 多容器應用PHPNginx
- RORedis快速部署為Docker容器的實現方法zmhRedisDocker
- SpringCloudAlibaba微服務docker容器打包和部署示例實戰SpringGCCloud微服務Docker
- 全球85%的企業部署容器,浪潮資訊推動儲存與容器全面對接
- Terraform部署容器服務Swarm叢集及WordPress應用ORMSwarm
- 雲伺服器:如何在docker容器中部署應用伺服器Docker
- 容器編排系統K8s之Dashboard部署K8S
- 資料庫為何不建議部署在Docker容器內資料庫Docker