Taiga.io is a project management platform that I have been itching to try out for quite some time. I have had experience using Redmine in the past for a previous job, and while I am comfortable in it I have a taste to try something new.
I had a brief foray into the solution from Atlassian (Jira) – which I found full featured but much too weighty for my small consultancy business. As well as introducing many features I didn’t need, it strained my small Linux server I spun up to test with.
I was then drawn back into trying Taiga after learning that it had been written in Python, my language of choice. I already had my Debian box (running Stretch) running, so I jumped on and decided to give it a go.
Initially, I looked into using the provisioning scripts, whose documentation could be found on their support page. The target version the scripts requires is Ubuntu 16.04 – I can’t verify the usefulness of the scripts on that system, but the similarity of Debian to Ubuntu is not enough.
The scripts throw up a few errors and a quick test confirms that the installation was not successful. I probably should have just refreshed my system at this point with the required version, however, I decided to push through with the step by step instructions.
95% + of the step by step instructions are the same for Debian as for Ubuntu 16.04, but there are a few places in the process where the detailed steps fall down which I will detail below.
Alteration 1: Cryptography package
If you follow along with the tutorial you may get to a point where the cryptography Python package fails to compile. The current cryptography 1.9.x at writing comes with a manylinux wheel, however taiga pins the cryptography package at 1.7.1, and this requires libssl.
The libssl default on Stretch is v1.1, but the build of the cryptography package fails with this newer version, so to get around this you can use your package management tool of choice (i.e. apt, apt-get, aptitude, …) to install the thankfully available earlier version: For instance
sudo apt install libssl1.0-dev, then retry the
pip install -r requirements.txt in step 3.3.
Alteration 2: npm
After following on from there, I didn’t install asynch, but during install of events in step 5 apt could not access npm – so a quick search found the following article on linuxbsdos.com about installing Node.js on Debian Stretch.
Following that guide got me to a point where I could get taiga-events installed and operational.
Alteration 3: circus
circus on Debian Stretch doesn’t work, the service never starts and some digging discovers that the version of circus shipped in Debian is a little on the old side (0.12.1 – whereas current release on GitHub is 0.14.0) This old version fails with Python 3.5 as per this GitHub issue
To fix this I had to download the latest version of circus from the GitHub page and install manually following the guide on the readthedocs site and using the
python setup.py install method, of course first removing the previous version.
You will also probably need to:
* unmask circusd (
sudo systemctl unmask circusd.service)
* Check (and likely edit)
/etc/init.d/circusd for the location of the installed binary: i.e. changing the line near the top to read
* Reload the daemon configuration using
sudo systemctl daemon-reload
* Possibly making a location for the log files using
sudo mkdir /var/log/circus
* And finally issuing a
sudo service circusd start (or
restart) to get it running
I have not had much time to actually interacting with the system, however, I am excited to give it a try now that it is up and running. Hopefully, I can save a few hours for anyone else crazy enough to ignore the recommended system and install Taiga.io on their own system. Enjoy!