It’s all about time:
What it is important?
What goes first in life?
Fortunately, there are open source tools to help us mind our time and prioritize.
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 TimeLite Project
- The source code of the timelite project is available in Github
A free open source serverless time tracker service that works on your web browser.
Why do I need a Time Management tool?
The Power of Time Tracking: It’s a Game-Changer
Tracking the time you spend on tasks offers profound benefits that can transform your workday:
-
⚡️ Supercharge Productivity:
- Time tracking helps you uncover where your time truly goes, revealing distractions and time-wasting habits.
- Use this insight to refine your workflow, eliminate unproductive activities, and become remarkably more efficient and focused.
- For example, you might realize you’re spending too much time on low-priority tasks or getting sidetracked by notifications. Knowing this lets you adjust your habits for better output.
-
🗓️ Master Planning & Prioritization:
- By understanding how long tasks actually take, you can build realistic timelines and set achievable goals.
- This empowers you to avoid overcommitting, prevent underestimating project durations, and significantly reduce stress from missed deadlines.
-
🎯 Boost Focus & Accountability:
- When you’re actively tracking your time, you’re naturally more inclined to stay laser-focused on the task at hand and resist distractions.
- It serves as a powerful personal commitment, helping you hold yourself accountable for hitting your goals and deadlines.
-
📊 Unlock Data-Driven Insights:
- Time tracking provides a wealth of actionable data about your work habits and productivity trends.
- Analyze this information to identify patterns – perhaps you’re most productive at certain times of day, or thrive in short work bursts with regular breaks.
- These insights are key to continuously optimizing your workflow for peak performance.
SelfHosting Timelite with Docker
Pre-Requisites!! Just Get Docker 🐋👇
Important step and quite recommended for any SelfHosting Project - Get Docker Installed
It will be one command, this one, if you are in Linux:
apt-get update && sudo apt-get upgrade && curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh && docker version
And install also Docker-compose with:
apt install docker-compose -y
git clone https://github.com/overshard/timelite.git timelite &&
cd timelite
Timelite with Docker for local use
The docker compose file to run it locally is already downloaded with the repository and it looks like:
#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, as the docker image has to get built first).
docker-compose up -d #this will build (and run) the container
Now TimeLite is ready at
localhost:9099
Exposing Timelite Locally with SLL with NGINX
For this setup, I assuma that you already have a working instance of NGINX proxy manager with docker, as I explained in this post.
#version: "3"
services:
app:
container_name: timelite
build: .
env_file: .env
ports:
- "${PORT}:${PORT}"
command: yarn next:start
restart: unless-stopped
networks:
- nginx_nginx_network
networks:
nginx_nginx_network:
external: true
Exposing Timelite - Cloudflare Tunnel
Be aware that with this configuration anyone will be able to access your Timelite instance outside your home network.
-
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.
FAQ
Other F/OSS Tools to Track our Time Online*
- ActivityWatch - It is Cross Platform.
- Wakatime + VSCode - A self-hosted WakaTime-compatible backend for coding statistics.