Time Management with Timelite

Effective time management is a crucial skill for personal and professional success. One effective way to improve your time management skills is to track the time you spend on tasks.

I have find out a great open source project that can help us with this matter, it’s called timelite and in this post I will show you have to install it with Docker.

  • The source code of the timelite project is available in Github

Why do I need a Time Management tool?

There are several benefits of tracking the time of your tasks:

  • Improved Productivity: Tracking the time of your tasks can help you identify how much time you spend on each task, and where you may be losing time or getting distracted. This information can help you make adjustments to your workflow to become more productive and efficient.

    • For example, you may realize that you spend too much time on low-priority tasks, or that you get distracted by social media or email notifications. By identifying these areas for improvement, you can adjust your habits and become more productive.
  • Better Planning and Prioritization: Tracking the time of your tasks can also help you better plan and prioritize your work. By understanding how long it takes you to complete certain tasks, you can create more realistic timelines and set achievable goals.

    • This can help you avoid overcommitting or underestimating the time needed for a project, which can lead to stress and missed deadlines.
  • Increased Focus and Accountability: Tracking the time of your tasks can also increase your focus and accountability. When you know that you are tracking your time, you are more likely to stay focused on the task at hand and avoid distractions. Additionally, tracking your time can help you hold yourself accountable for meeting your goals and deadlines.

  • Data-Driven Insights: Tracking the time of your tasks can provide you with data-driven insights into your work habits and productivity. By analyzing this data, you can identify patterns and trends in your work, and make adjustments to improve your workflow.

    • For example, you may realize that you are most productive during certain times of day, or that you work best in short bursts with frequent breaks.

Deploying Timelite with Docker

git clone https://github.com/overshard/timelite.git timelite &&
cd timelite

Docker for local use

The docker compose file to run it locally:

version: "3"

services:
  app:
    container_name: timelite
    build: .
    env_file: .env
    ports:
      - "${PORT}:${PORT}"
    command: yarn next:start
    restart: unless-stopped

You will need a .env file. There is one sample on the sample file folder in the repository, but as you can see we just need to provide the port, so let’s create one:

nano .env

and fill it with:

PORT=9099

In this case, due to the build of the container instead of pulling it from some container registry, we should expect this process to take longer than usual (only the first time we deploy it).

Exposing Timelite with Cloudflare Tunnel

  • Step 1: You need to setup the Cloudflare Tunnel Docker container with this guide to expose timelite securely.

  • Step 2: After having the Cloudflare Tunnel running, you can use this docker-compose file to have the Timelite instance running in the same network as Cloudflare:

version: "3"

services:
  app:
    container_name: timelite
    build: .
    env_file: .env
    ports:
      - "${PORT}:${PORT}"
    command: yarn next:start
    restart: unless-stopped
    networks:
      - tunnel

networks:
  tunnel:
    external: true
  • Step 3: go to the Cloudflare UI and add the public host names as explained in the Cloudflare post.