Set up Project Management Tool : TULEAP Server

Prerequisites:

The following sections assume that you are going to run the Tuleap container as the only “visible” container on the server. That means that Tuleap web container will publish it’s ports (80, 443 and 22) on hosts ports.

TULEAP_FQDN=tuleap.example.com
MYSQL_ROOT_PASSWORD=some random strong password
  • TULEAP_FQDN is the full name of the machine you are going to run Tuleap on. As we saw in pre-requisite section, it should be the name of your docker host either from DNS or at very least defined in /etc/hosts (will resolve only locally).
  • MYSQL_ROOT_PASSWORD will be the root password of your mysql instance. We recommend at least 20 chars but only alphabetical & numbers.
  • Create following directories to bind mount:
    mkdir -p /home2/tuleap/tuleap-data
    mkdir -p /home2/tuleap/tuleap-db-data
    mkdir -p /home2/tuleap/redis-data
version: "2"services:
web:
image: tuleap/tuleap-community-edition
hostname: pmtool
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /home2/tuleap/tuleap-data:/data
depends_on:
- db
- redis
- mailhog
environment:
- TULEAP_FQDN=pmtl.cloud.gov.in
- DB_HOST=db
- DB_ADMIN_USER=root
- DB_ADMIN_PASSWORD=*******
- TULEAP_FPM_SESSION_MODE=redis
- TULEAP_REDIS_SERVER=redis
- TULEAP_EMAIL_RELAYHOST=mailhog:1025
# This is for test purpose only. It's not advised to run a production database as a docker container
db:
image: mysql:5.7
command: ["--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci", "--sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"]
environment:
- MYSQL_ROOT_PASSWORD=******* //same as above metioned
volumes:
- /home2/tuleap/tuleap-db-data:/var/lib/mysql
# This is for test purpose only. It's not advised to run a production database as a docker container
redis:
image: redis:6
volumes:
- /home2/tuleap/redis-data:/data
command: redis-server --appendonly yes --auto-aof-rewrite-percentage 20 --auto-aof-rewrite-min-size 200kb
mailhog:
image: mailhog/mailhog

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store