はじめに
シンプルで使いやすいオープンソースのタイムトラッキングツール「TimeTagger」。
実際に利用してみたいと思い、自宅ラボ環境にセルフホストの TimeTagger を Rocky Linux にインストールし、 systemd を使ってバックグラウンドのサービスとして自動起動させるようにしたため、手順をステップバイステップで解説します。
TimeTagger の公式のインストール手順では Docker を利用する前提になっていますが、 今回はわざと Docker を利用せずにインストールしています。
この記事を読んで欲しい人
- セルフホストの TimeTagger を利用したいと思っている人
- セルフホストの TimeTagger の利用にDockerを利用したくない人
導入手順
pip インストール
dnf -y install python3-pipTimeTagger インストール
pip install -U timetaggerファイアウォール設定 TCP 8080 ポートへの恒久的なアクセス許可とファイアウォールの設定を再読み込みし、追加したルールを即座に反映
firewall-cmd --add-port=8080/tcp --permanent firewall-cmd --reloadsystemd サービス化設定 (自動起動対応) サーバー再起動時、バックグラウンドで常に TimeTagger を動作させるために TimeTagger 用の systemd ユニットファイル作成
vi /etc/systemd/system/timetagger.servicesystemd ユニットファイルに記載する認証情報のパスワードの生成はこちらの公式サイトをご利用ください。
[Unit] Description=TimeTagger Service (Root) After=network.target [Service] # rootで実行 User=root Group=root # 作業ディレクトリ (データベースは /root/_timetagger/ に保存) WorkingDirectory=/root # 環境変数で認証情報を設定 # 書式: ユーザー名:ハッシュ値 Environment="TIMETAGGER_CREDENTIALS=test:$2a$08$eUfismuVQsRbhTNM.V57MOtRauaTwvWPfaH6ZkvNSHhTNbmnARj6u" # 起動コマンド ExecStart=/usr/bin/python3 -m timetagger --bind 0.0.0.0:8080 # ログ設定 StandardOutput=journal StandardError=journal # プロセス停止時の自動再起動設定 Restart=always [Install] WantedBy=multi-user.target:wq!サービス自動起動設定
systemctl enable timetagger.serviceOS起動時に自動で TimeTagger が起動されるようになります。
“Created symlink …“と表示されていれば成功です。Created symlink '/etc/systemd/system/multi-user.target.wants/timetagger.service' → '/etc/systemd/system/timetagger.service'.サービス起動と確認
systemctl start timetagger.service systemctl status timetagger.service“Active: active (running)“と表示され、ログに"Server is starting up"と記録されていれば無事に起動完了です。
● timetagger.service Loaded: loaded (/etc/systemd/system/timetagger.service; enabled; preset: disabled) Active: active (running) since Sun 2026-03-15 14:45:57 UTC; 2s ago Invocation: 5dfc8b839fa441c0a5764d2b16ac0c15 Main PID: 47486 (python3) Tasks: 1 (limit: 22999) Memory: 66.1M (peak: 66.1M) CPU: 1.416s CGroup: /system.slice/timetagger.service mq47486 /usr/bin/python3 -m timetagger --bind 0.0.0.0:8080 ... 5月 16 13:42:06 lab-rock-241.lab.internal python3[1052]: [INFO 2026-05-16 13:42:06] Server is starting up
おわりに
今回はあえて Docker を利用せず、セルフホストで TimeTagger のインストールから systemd を用いたサービス化までを行いました。
これでいつでも安定してタイムトラッキングが利用できる環境が整いました。
TimeTagger の利用を検討されている方はぜひ、ぜひ参考にしていただければと思います。
環境
- Rocky Linux 10.1
- TimeTagger 26.1.3