taskwarrior server (taskd)

Seit nun doch einiger Zeit setze ich den Taskwarrior ein. Bisher jedoch nur im “lokalen” Modus, also ohne die Daten zu synchronisieren. Das ganze hat mir aber doch keine Ruhe gelassen und ich hab mir mal einen Taskserver (taskd) montiert.

Initiales

Von bestehenden Daten macht man bestenfalls eine Sicherung

Setup Server

Unter Debian montiert man einfach das taskd-Package.

Konfiguration

Zertfikate erstellen

Hier editiert man als erstes das vars-File und passt es nach Gusto an

Ist dies erledigt, können die Zertfikate erstellt werden

Nun passen wir noch die Rechte der generierten Files an

Daemon einrichten

Nun verlinken wir die erstellten Zertifikate hierher

Und jetzt können wir das ganze initialisieren

und einige Configwerte anpassen (ich bevorzuge ein normales editieren des config-files)

im Systemd-Unit ist (so wie ich es verstehe) das Logging by default deaktiviert. Möchte man das haben, was bei der Fehlersuche sicher nicht schlecht ist, entfernt man einfach den Suffix “–log=-” aus dem taskd.service bei ExecStart. Nun wird nach /tmp/taskd.log geloggt.

Jetzt noch den Service starten und evtl. das Log checken 😉

Client Configuration

Organisation erstellen

Man kann mehrere Organisationen mit entsprechenden Nutzern erstellen. Brauche ich zwar nicht, bin aber nicht 100%ig sicher, ob das ein must ist, also mach ich es. Generell ist es eigentlich der im Manual beschriebene Vorgang hier…

User und Zertifikate erstellen

Nun erstellen wir einen Benutzer

Mittels generate.client können nun die Zertifikate für den User auf dem Server erzeugt werden.

Hiermit wird NAME.cert.pem und NAME.key.pem angelegt. Diese beiden Files und das CA File müssen nun zum Client übertragen und unter ~/.task abgelegt werden.

Taskwarrior/Client einrichten

Jetzt kann man endlich taskwarrior am Client einrichten.

Auch hier: das ganze kann manuell im .taskrc eingetragen werden, jedoch muss beachtet werden, dass die Pfade escapt sind:

Wenn man nicht ständig manuell den sync anschmeissen will (geht eh vergessen..) ist ein kleiner cronjob alle paar Minuten das richtige Mittel zum automatischen Sync.

Debugging

Generell kann ich sagen, das ganze läuft reibungslos. Jedoch hatte ich zu Beginn ein kleines Problem:

Die Lösung war banal: Ich habe die Organisation / den User unter root angelegt. Die Directories gehörten dann natürlich root anstatt dem taskd-User, folglich konnte es nicht gelesen werden. Lösung: Rechte korrigieren 😉

Bei der Fehlersuche ist sonst die taskd Troubleshooting Site recht hilfreich.

Generell sieht man im Log schnell, was nicht passt. Ein ‘taskd diagnostics’ kann auch wertvolle Infos liefern.