TimeTagger ist eine webbasierte Open-Source-Zeitverfolgungslösung, die sowohl lokal als auch auf einem Server betrieben werden kann. Es bietet eine interaktive Benutzeroberfläche, die auf einer Zeitleiste basiert, und ermöglicht es dir, deine Zeit effizient zu verwalten und zu analysieren.
Danke an @vladimir der diese Anleitungen in den Kommentaren veröffentlicht hat.
Datum | Änderungen |
10.07.2024 | Erstellung dieser Anleitung |
22.07.2024 | Docker Compose Restart Anweisung hinzugefügt |
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- TRAEFIK V2 + 3 – REVERSE-PROXY MIT CROWDSEC IM STACK EINRICHTEN
2. Verzeichnis anlegen
Im ersten Schritt legen wir uns ein Verzeichnis an.
mkdir -p /opt/containers/timetagger
3. Docker Compose erstellen
Nun erstellen wir uns eine Docker Compose Datei.
nano /opt/containers/timetagger/docker-compose.yml
Kopiert nun folgenden Inhalt:
services: timetagger: image: ghcr.io/almarklein/timetagger volumes: - ./_timetagger:/root/_timetagger restart: unless-stopped environment: - TIMETAGGER_BIND=0.0.0.0:80 - TIMETAGGER_DATADIR=/root/_timetagger - TIMETAGGER_LOG_LEVEL=info - TIMETAGGER_CREDENTIALS=test:$$2a$$08$$mID5JQ8xbLkuuK2nzJuZu.7VeI7m/VQ1VA0y/GST02dgKk0CZ/7oi # test:test labels: - "traefik.enable=true" - "traefik.http.routers.timetagger.entrypoints=websecure" - "traefik.http.routers.timetagger.rule=(Host(`timetagger.euredomain.de`))" - "traefik.http.routers.timetagger.tls=true" - "traefik.http.routers.timetagger.tls.certresolver=http_resolver" - "traefik.http.routers.timetagger.service=timetagger" - "traefik.http.services.timetagger.loadbalancer.server.port=80" - "traefik.docker.network=proxy" - "traefik.http.routers.timetagger.middlewares=default@file" networks: - proxy networks: proxy: external: true
Noch anzupassen:
- eure Domain bei Traefik (timetagger.euredomain.de)
5. Timetagger starten
Dazu gebt ihr einfach folgenden Befehl ein:
docker compose -f /opt/containers/timetagger/docker-compose.yml up -d
Anschließend geht ihr auf eure Homepage timetagger.euredomain.de
Dort solltet ihr folgendes sehen:
6. Benutzer anlegen
Nun wollen wir uns einen neuen Benutzer anlegen. Dazu geht ihr auf folgende Webseite: https://timetagger.euredomain.de/timetagger/cred
Hier seht ihr nun folgendes:
Gebt nun einen Nutzernamen sowie Passwort ein:
Kopiert euch nun die untersten Code. Nun öffnen wir wieder unsere Docker Compose Datei:
nano /opt/containers/timetagger/docker-compose.yml
Nun passt ihr folgendes an:
vorher: - TIMETAGGER_CREDENTIALS=test:$$2a$$08$$mID5JQ8xbLkuuK2nzJuZu.7VeI7m/VQ1VA0y/GST02dgKk0CZ/7oi # test:test nachher: - TIMETAGGER_CREDENTIALS=demo:$$2a$$08$$4/TqO1guLGeaFN/1iFmB8euzqQFT6.sYoWfeTOnS1opXXxo17xEFG
Mit “;” könnt ihr auch mehrere Nutzernamen hintereinander schreiben.
Nun müsst ihr TimeTagger neu starten mittels folgendem Befehl:
docker compose -f /opt/containers/timetagger/docker-compose.yml up -d --force-recreate
Hallo Christian,
hat super funktioniert. Es gibt sogar ein CLI für linux.
pipx install timetagger_cli
timetagger setup
jetzt über web den apikey raussuchen und in die offene config.txt einfügen
die URL ist timetagger.euredomain.de/timetagger/api/v2
Also optisch gewinnt er ja nicht zwingend einen Blumentopf aber die CLI und das tagging und die Auswertung daraus besticht durchaus.
Danke.
LG Bastian
Hallo Christian,
timetagger funktioniert perfekt mit dieser Anleitung. Bei Neustart des Servers startet docker den Container nicht automatisch und man muss dies manuell jedesmal durchführen. Hast du irgendeine Idee, wie man dies automatisieren kann?
Danke und viele Grüße