5.1 KiB
title: Traggo created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, tracking, time-tracking, go, minimalist] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Time+Tracking, https://github.com/traggo/server]
⏱️ Traggo
Time tracking minimaliste et rapide : un bouton pour démarrer, un tag, un projet. L'API REST expose tout pour intégration à vos outils.
| Métadonnée | Valeur |
|---|---|
| Site web | traggo.net |
| GitHub | traggo/server |
| License | AGPL-3.0 |
| Langage principal | Go |
| Étoiles GitHub | 85 ⭐ |
| Dernière MAJ | 2026-02-14 |
| Catégorie | cat-tracking |
Description
Traggo est un outil de time tracking radicalement simple, écrit en Go. Le principe : un seul bouton « start », on entre un tag ou un projet, et le chrono tourne. On arrête quand on a fini, on passe au suivant. Pas de catégories arborescentes complexes, pas de hiérarchie à six niveaux : du temps, des tags, des projets, c'est tout.
L'interface web est ultra-épurée et fonctionne aussi sur mobile (responsive). L'API REST complète permet d'intégrer Traggo avec des outils tiers (Zsh prompt, Raycast, scripts Bash, automatisations Home Assistant) pour logger automatiquement. Les exports CSV et les statistiques par tag facilitent la facturation client ou le suivi personnel.
Traggo est l'anti-Toggl : pas de SaaS, pas de comptes multiples, pas de verrouillage propriétaire. Pour les freelances et les développeurs qui veulent juste mesurer leur temps sans friction, c'est l'une des meilleures options self-hosted. Le projet est stable, peu maintenu récemment (raison du tag medium sur la fraîcheur), mais reste pleinement utilisable.
Installation
Via Docker (recommandé)
version: "3.8"
services:
traggo:
image: ghcr.io/traggo/server:latest
container_name: traggo
restart: unless-stopped
ports:
- "3030:3030"
environment:
- TRAGGO_SERVER_LISTEN=:3030
- TRAGGO_DATABASE_DRIVER=sqlite
- TRAGGO_DATABASE_SQLITE_PATH=/data/traggo.db
- TRAGGO_SECRET=change...es
volumes:
- traggo_data:/data
# optionnel : reverse-proxy Caddy ou Traefik devant
caddy:
image: caddy:2-alpine
container_name: traggo-caddy
restart: unless-stopped
ports:
- "443:443"
- "80:80"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
depends_on:
- traggo
volumes:
traggo_data:
caddy_data:
Installation manuelle
- Télécharger la dernière release :
wget https://github.com/traggo/server/releases/latest/download/traggo-linux-amd64.tar.gz - Décompresser :
tar xzf traggo-linux-amd64.tar.gz && sudo mv traggo /usr/local/bin/ - Créer
/etc/traggo.envavec les variables (cf. template) - Créer le service systemd (
/etc/systemd/system/traggo.service) :
[Unit]
Description=Traggo
After=network.target
[Service]
EnvironmentFile=/etc/traggo.env
ExecStart=/usr/local/bin/traggo
Restart=always
[Install]
WantedBy=multi-user.target
systemctl daemon-reload && systemctl enable --now traggo- Ouvrir le port 3030 derrière un reverse proxy HTTPS (Caddy / Traefik / Nginx)
Configuration
- Créer le premier utilisateur depuis l'UI web
- Définir un secret fort (
TRAGGO_SECRET) pour signer les sessions - Activer l'authentification OIDC (Authentik, Keycloak) en configurant les variables
- Configurer les tags récurrents dans l'UI (par projet, par client)
- Brancher un reverse proxy HTTPS (Traefik + Let's Encrypt)
- Utiliser l'API (token Bearer) depuis vos scripts (Zsh, Raycast, Alfred)
- Activer les exports CSV depuis l'UI (par jour, par tag)
Alternatives
Open source
- Kimai — time tracking + facturation, plus complet
- Anuko Time Tracker — PHP, plus ancien
- TimeTagger — Python, single-user friendly
- Wakapi — time tracking pour développeurs (WakaTime-like)
- Titra — time tracking pour équipes
Propriétaires
- Toggl Track — référence cloud, freemium
- Harvest — facturation intégrée, équipes
- Clockify — freemium très généreux
- RescueTime — tracking passif de l'activité PC
- WakaTime — tracking auto pour développeurs
Sécurité
- Changer le TRAGGO_SECRET et le garder secret (utilisé pour les sessions)
- Activer HTTPS obligatoire (Traefik / Caddy / Let's Encrypt)
- Activer la 2FA (TOTP) sur les comptes utilisateurs
- Restreindre l'accès à l'API par IP source ou via OIDC reverse proxy
- Sauvegarder traggo.db régulièrement (SQLite = simple
cpsuffit) - Choisir un mot de passe fort pour le compte admin
- Surveiller l'espace disque (SQLite grossit avec l'historique)