-
1. Introduction
- 1.1 About ZenTao
- 1.2 Introduction PDF
- 1.3 Technical Support
- 1.4 Follow Us
-
2. Installation
- 2.1 Choose the Right Installation
- 2.2 ZenTao Cloud
- 2.3 One-click Installation for Windows
- 2.4 One-click Installation for Linux
- 2.5 Lampp Installation in Linux
- 2.6 Source Code Installation (for all systems)
- 2.7 Source Code Installation for macOS
- 2.8 XAMPP-VM Installation for macOS
- 2.9 XAMPP Installation for macOS
- 2.10 Install ZenTao in Docker
- 2.11 Install httpd, Mariadb, PHP 7.2 in Cent OS 8
- 2.12 Softaculous Service
- 2.13 Install Ioncube
- 3. Update
-
4. Users and Groups
- 4.1 Company Structure
- 4.2 Add a User
- 4.3 Manage Users in batches
- 4.4 Groups and Privileges
-
5. Quick Start
- 5.1 Project and Task Management
- 5.2 Bug Tracking
- 5.3 Product Management
- 5.4 Todo Management
-
6. Basic Application
- 6.1 Basic Workflow
- 6.2 Agile and Scrum
- 6.3 ZenTao and Scrum
- 6.4 ZenTao Tutorial for Rookies
- 6.5 Create a Product
- 6.6 Create a Story
- 6.7 Create a Project
- 6.8 Confirm a Story
- 6.9 Decompose Stories into Tasks
- 6.10 Report a Bug
- 6.11 Manage Contacts
- 6.12 Customization
- 6.13 Import Excel, CSV Files
- 6.14 Document Management
- 6.15 Work Mode
- 6.16 Points
- 6.17 Required Field
- 6.18 Privileges
- 6.19 Annual Work Summary
-
7. Advanced Application
-
7.1. Workflow
- 7.1.1 ZenTao Workflow
-
7.2. Individual management
- 7.2.1 My Todo
- 7.2.2 My Task, Story and Bug
- 7.2.3 My Profile
-
7.3. Product Owner
- 7.3.1 Manage a Product
- 7.3.2 Manage a Product Line
- 7.3.3 Create and Review a Story
- 7.3.4 Change and Review a Story
- 7.3.5 Status and Phase
- 7.3.6 Story Writing
- 7.3.7 Product Module
- 7.3.8 Release Plan
- 7.3.9 Create a Release
- 7.3.10 Roadmap
- 7.3.11 Documents
- 7.3.12 Planning Meetings
- 7.3.13 Daily Scrum, Review and Retrospective Meetings
- 7.3.14 Story Reports
-
7.4. Scrum Master
- 7.4.1 Create a Sprint
- 7.4.2 Set a Team
- 7.4.3 Confirm a Story
- 7.4.4 Task Breakdown
- 7.4.5 Daily Standup Meetings
- 7.4.6 Check Project Progress via Burndown Chart
- 7.4.7 Check Project Progress via Lists
- 7.4.8 Review and Retrospective Meetings
- 7.4.9 Basic reports on tasks
-
7.5. Development Team
- 7.5.1 Project planning meeting and task breakdown
- 7.5.2 Claim tasks and update efforts
- 7.5.3 Kanban and Tree Diagram
- 7.5.4 Build
- 7.5.5 Test Request
- 7.5.6 Resolve a Bug
- 7.5.7 Documents
- 7.5.8 Confirm Bugs
-
7.6. Test Team
- 7.6.1 Bug Tracking
- 7.6.2 Report a Bug
- 7.6.3 Verify and Close a Bug
- 7.6.4 Activate a Bug
- 7.6.5 Find a Bug
- 7.6.6 Test Case
- 7.6.7 Create and Review Test Cases
- 7.6.8 Test Suites, Public Case Libs and Reports
- 7.6.9 Manage Test Requests
- 7.6.10 Run Cases and Report Bugs
- 7.6.11 Reports
-
7.1. Workflow
-
8. Configuration
-
8.1. Maintain ZenTao
- 8.1.1 Initialize scripts
- 8.1.2 Data Backup
- 8.1.3 Recover the Deleted
- 8.1.4 Update Burndown Charts
- 8.1.5 ZenTao Remote Host
-
8.2. Deploy ZenTao
- 8.2.1 Guest Login
- 8.2.2 Email Notification
- 8.2.3 Set Super Admin
- 8.2.4 Static Access
- 8.2.5 Remove "zentao" from URL
- 8.2.6 Integrate SVN
- 8.2.7 Integrate Git
- 8.2.8 Integrate Webhook
- 8.2.9 Integrate Xuan.im
- 8.2.10 Integrate Zdoo
- 8.2.11 Integrate Third-Party Apps
- 8.2.12 Password-Free Login
- 8.2.13 Translation Add-on
- 8.2.14 Integrate Jenkins
- 8.2.15 Extension
- 8.2.16 Fix Weak Password
-
8.1. Maintain ZenTao
-
9. Customization
- 9.1 Introduction
- 9.2 Directory
- 9.3 Find Codes
- 9.4 Database Structure
- 9.5 Common Modules
- 9.6 Add Features to Menu
- 9.7 Set Privileges to Modules
- 9.8 Examples: modify language prompt
- 9.9 Examples: set priority when creating bugs
- 9.10 Extension Editor
- 9.11 Feature Limitation
- 9.12 ZenTao Packaging Standards 1.1
-
10. Misc
- 10.1 About Third-Party Code
- 10.2 Support ZenTao
- 10.3 ZenTao Service
- 10.4 Acknowledgement
Install ZenTao in Docker
- 2020-06-23 18:49:41
- John Ten
- 11567
- Last edited by Hongyan on 2021-12-28 17:49:08
- Share links
1. Get Docker ready
Docker 18 or the version above are strongly recommended. No specific requirements for the host environment.
Check your docker version through the order below:
docker -v
2. Download ZenTao image
Online download and offline import are both available to deploy ZenTao image and you can choose according to your environment.
2.1 Download
ZenTao image is uploaded to dockerhub, and you could find it here, https://hub.docker.com/r/easysoft/zentao/tags
sudo docker pull [Image name]:[Image tag]
Pull an image, e.g. zentao:12.2.stable
sudo docker pull easysoft/zentao:12.2.stable
ZenTao version and Image tag:
ZenTao Version | Tag |
Open source |
Start with number, like 12.2.stable |
Professional | Start with pro, like pro8.8 |
Enterprise | Strat with biz, like biz3.7 |
2.2. Import
ZenTao versions, image names and image links:
ZenTao Version | Image name | Image link ( Archive fiel directory ) |
Open source 12.3.1 | easysoft/zentao:12.3.1 |
/dl/zentao_12.3.1.tar |
Open source12.2.stable | easysoft/zentao:12.2.stable |
/dl/zentao_12.2.stable.tar |
Professional 8.8 | easysoft/zentao:pro8.8 |
/dl/zentao_pro8.8.tar |
Enterprise 3.7 | easysoft/zentao:biz3.7 |
/dl/zentao_biz3.7.tar |
As you can see above, image link names are combined of zentao_version number.tar
Note: The naming format of the archive file is product name+underline+version number+.tar, and all the products in the future will follow this format, too.
So how to import images?
- Choose the appropriate image link for you and import it into your host.
- Go to archive file directory and run docker load
sudo docker load -i [Archive file directory]
Load an image, e.g. zentao_12.3.1.tar
sudo docker load -i zentao_12.3.1.tar
3. Docker start
3.1. Create a docker network
sudo docker network create --subnet=[ip range] [network driver name]
- IP range: For example, 172.172.172.0/24 ranges from 172.172.172.1 to 172.172.172.254.
- Network driver name: a name for network driver, name as you wish.
sudo docker network create --subnet=172.172.172.0/24 zentaonet
3.2. Docker container start
sudo docker run --name [container name] -p [host port]:80 --network=[driver name] --ip [container IP] --mac-address [mac address] -v [host zentao root]:/www/zentaopms -v [host mysql root]:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=[database password] -d easysoft/zentao:[image tag]
- container name: name a container you want to start as you wish.
- host port: your web host port
- driver name: the network driver
- container IP: pick a static IP for your container
- MAC address: pick a static MAC address for your container, ranges from 02:42:ac:11:00:00 to 02:42:ac:11:ff:ff are recommended
- host ZenTao root: required, for ZenTao files and attachments storage. Leave it blank if you are not upgrading your ZenTao.
- host MySQL root: required, for ZenTao data storage. Leave it blank if you are not upgrading your ZenTao.
- database password: default account in container is root, 123456, do not mention it if you don't need to change anything, but you can use MYSQL_ROOT_PASSWORD to modify the password as well.
- image tag: the version of ZenTao.
Create blank roots /www/zentaopms and /www/mysqldata on the host
sudo docker run --name zentao -p 80:80 --network=zentaonet --ip 172.172.172.172 --mac-address 02:42:ac:11:00:00 -v /www/zentaopms:/www/zentaopms -v /www/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d easysoft/zentao:12.2.stable
Note:
- If you need to connect to the database remotely, you can add a port mapping "-p [host port]:3306"
- If you want to run multiple ZenTao on a single host at the same time, you just need to configure with different [contaniner name], [host port], [container IP], [mac address], [host zentao root], [host mysql root]
sudo docker run --name zentao2 -p 8080:80 --network=zentaonet --ip 172.172.172.173 --mac-address 02:42:ac:11:00:01 -v /www/zentaopms2:/www/zentaopms -v /www/mysqldata2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d easysoft/zentao:12.2.stable
3.3. Check if the container is running
docker ps
If not running, run without -d and debug your container, feel free to contact our technical support by [email protected].
4. Install ZenTao
5. Upgrade ZenTao
5.1. Stop the ZenTao container first to prepare for data backup
docker stop zentao
5.2. Back up ZenTao
For data security, backup [host zentao root] and [host mysql root], like copy /www/zentaopms and /www/mysql data to other root in host.
5.3. Get the latest source code package from https://www.zentao.pm/download.html.
5.4. Unzip it and overwrite to [host zentao root], like overwrite to /app/zentaopms
5.5. Start zentao container
docker start zentao
5.6. Visit upgrade.php, choose the corresponding version, and follow the instruction to upgrade
Please refer to the manual here, https://www.zentao.pm/book/zentaomanual/free-open-source-project-management-software-upgradezentao-18.html
6. Install svn、git (If you don't use svn、git to integrate, no need to install) (Optional)
6.1 Enter to container
docker exec -it [container name] /bin/bash6.2 Run the orders below:
apt-get install git -y apt-get install subversion -y
7. FAQ
7.1 How to configure MySQL in a container?
Run the order below:
docker exec -it [container name] /bin/bashFor example, execute zentao container, edit my.cnf, save it and restart mysql
docker exec -it zentao /bin/bash
vi /etc/mysql/my.cnf
It's the same to configure Apache and PHP.INI, related roots in the container as shown below:
- Apache: /etc/apache2/
- ZenTao: /app/zentaopms
- MySQL: /etc/mysql/
- PHP: /etc/php/7.0/apache2
7.2 How to connect remotely to MySQL in the container?
- Make sure there is a port mapping between the host and MySQL in the container
- Make sure "bind-address = 0.0.0.0" in /etc/mysql/mariadb.conf.d/50-server.cnf
- Confirm the remote login user permissions, such as using the root user
select host from mysql.user where user='root'; update mysql.user set host='%' where user='root'; flush privileges;7.3 Why the /www/zentaopms directory mounted by the container is an empty folder?
The mount directory of ZenTao is /app/zentaopms in the 4 image of ZenTao 12.3.1, 12.2.stable, biz3.7, and pro8.8, you need to modify the mount directory
For example: Create empty directories /app/zentaopms and /app/mysqldata on the host, run the order below,
sudo docker run --name zentao -p 80:80 --network=zentaonet --ip 172.172.172.172 --mac-address 02:42:ac:11:00:00 -v /app/zentaopms:/app/zentaopms -v /app/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d easysoft/zentao:12.3.3
Feel free to contact our technical support at [email protected] if any questions.
Support
- Book a Demo
- Tech Forum
- GitHub
- SourceForge
About Us
- Company
- Privacy Policy
- Term of Use
- Blogs
- Partners
Contact Us
- Leave a Message
- Email Us: [email protected]