- Регистрация
- 1 Мар 2015
- Сообщения
- 1,481
- Баллы
- 155
Kimai is a slick, open-source time tracking tool — great for freelancers, teams, and agencies who want full control and privacy.
In this guide, I’ll show you how to self-host Kimai using Docker on any Linux server (Ubuntu, Debian…), get it up and running in minutes, and make sure it stays online 24/7 with monitoring from Garmingo.
Let’s go ?
? What You’ll Need
mkdir kimai && cd kimai
Step 2: Create a docker-compose.yml
Paste this into docker-compose.yml:
version: '3.7'
services:
kimai:
image: kimai/kimai2:apache
restart: unless-stopped
ports:
- "8001:8001"
environment:
- ADMINMAIL=admin@yourdomain.com
- DATABASE_URL=mysql://kimai:kimai@db/kimai
depends_on:
- db
db:
image: mysql:5.7
restart: unless-stopped
environment:
- MYSQL_DATABASE=kimai
- MYSQL_USER=kimai
- MYSQL_PASSWORD=kimai
- MYSQL_ROOT_PASSWORD=rootpass
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
? Step 3: Launch Kimai
Run the stack:
docker compose up -d
Wait a minute, then open:
Login with:
Change your password immediately.
? Step 4: Optional – Add Domain + SSL
Point time.yourdomain.com to your server.
Use a reverse proxy like Caddy, Nginx Proxy Manager, or Traefik to:
Log in → create customers, projects, and time entries.
You can also invite your team and enable timesheets, exports, and invoice generation.
Step 6: Monitor Your Kimai Instance with Garmingo Status
Kimai handles critical workflows — especially for clients, timesheets, and billing.
If it goes offline and you don’t know… you’ve got problems.
Set up to:
? All available on the forever free plan — no credit card needed.
?
? TL;DR
Time tracking shouldn’t stop when your server crashes.
?
In this guide, I’ll show you how to self-host Kimai using Docker on any Linux server (Ubuntu, Debian…), get it up and running in minutes, and make sure it stays online 24/7 with monitoring from Garmingo.
Let’s go ?
? What You’ll Need
- A Linux server with Docker + Docker Compose
- Basic terminal access (SSH)
- Optional: domain + HTTPS
- 10 minutes
mkdir kimai && cd kimai
Paste this into docker-compose.yml:
version: '3.7'
services:
kimai:
image: kimai/kimai2:apache
restart: unless-stopped
ports:
- "8001:8001"
environment:
- ADMINMAIL=admin@yourdomain.com
- DATABASE_URL=mysql://kimai:kimai@db/kimai
depends_on:
- db
db:
image: mysql:5.7
restart: unless-stopped
environment:
- MYSQL_DATABASE=kimai
- MYSQL_USER=kimai
- MYSQL_PASSWORD=kimai
- MYSQL_ROOT_PASSWORD=rootpass
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
? Step 3: Launch Kimai
Run the stack:
docker compose up -d
Wait a minute, then open:
Login with:
- Username: admin
- Password: changeme
Change your password immediately.
? Step 4: Optional – Add Domain + SSL
Point time.yourdomain.com to your server.
Use a reverse proxy like Caddy, Nginx Proxy Manager, or Traefik to:
- Forward HTTPS requests to port 8001
- Secure the connection with Let’s Encrypt
Log in → create customers, projects, and time entries.
You can also invite your team and enable timesheets, exports, and invoice generation.
Kimai handles critical workflows — especially for clients, timesheets, and billing.
If it goes offline and you don’t know… you’ve got problems.
Set up to:
- Monitor or your IP
- Alert you via Slack, Email, Telegram, Discord, or Webhook
- Show uptime history & log incidents
- Share a public or private status page
- Get monthly uptime reports
? All available on the forever free plan — no credit card needed.
?
? TL;DR
Deploy Kimai with Docker- ? Secure with domain + HTTPS
- ?️ Track your time
- ? Monitor with Garmingo Status
Time tracking shouldn’t stop when your server crashes.
?