Installing Timestrap On CentOS 7

Based on the popularity of our tweet about timestrap, a new self-hosted time tracking system, and our ultimate guide on self-hosted alternatives to cloud apps, we thought it made sense to do a quick walkthrough of how you can install timestrap on a CentOS server.

First, let’s install the python packages necessary to run timestrap. That includes python and pip, but first we need to enable the EPEL repository.

$ sudo yum --enablerepo=extras install epel-release
$ sudo yum install -y python-devel python-setuptools python-pip python-psycopg2 postgresql postgresql-dev
$ sudo pip install --upgrade pip
# sudo pip install virtualenv

Next, clone the timestrap repository from Github.

$ git clone https://github.com/overshard/timestrap.git
$ cd timestrap/

Then, set up the virtual environment via Python.

$ virtualenv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt

After that, you need to migrate your database, set up your user, and then finally run the server itself. In the future, you only need to run the final command to start the server.

$ python manage.py migrate
$ python manage.py createsuperuser
$ python manage.py runserver 0.0.0.0:8000

The 0.0.0.0:8000 in the final command creates a server that’s accessible from outside localhost—if you type in your server’s IP address followed by :8000, you should be able to access timestrap for the first time. Enjoy self-hosted time tracking!