DiskStationのDockerでManicTime Serverを動かす

当ページのリンクには広告が含まれています。
  • URLをコピーしました!
目次

ManicTimeについて

ManicTime(マニックタイム)はこの時間に何をしていたかを記録している時間管理アプリです。Windows版ではアクティブなプログラム、ブラウザのURL、ストップウォッチやタイマーで何をしている時間かを記録していくことができます。

ManicTime Windowsのタグと時間の管理
ManicTime Windowsでグループと時間の管理

ManicTime ServerにManicTimeの記録を送信することで、複数のPCやスマホ、複数の人物をサーバー機能で一元的に管理することができるようになります。

ManicTime ServerでPCやスマホのタグの管理

前提

Windows版のManicTime Proを使用

ここではManicTime ProをWindowsで稼働していることを前提とします。(データをサーバーに送れるようになれば連携してすぐに機能する状態)

ここではManicTime本家のオンプレスミス(Pro版)のライセンスを使用しているものとします。(日本のライフボート版の場合はライセンス形態が異なりDockerで使えるかは不明です。)

ManicTimeの購入サイト
ManicTime Proの購入

2025/03現在のライセンス価格は$67+消費税(支払額およそ11,000円、為替や決済手段によって変動)となっています。アップグレード料金は1年間は無料、2年目以降は新しいバージョンでの再購入が必要です。1年以内に更新する場合の更新費用は半額となっています。

オンプレミスのライセンスでは1ユーザーが複数のデバイスで実行することができます。サーバーを導入すれば複数のデバイスを1カ所(Web)にまとめて管理することができます。サーバーで管理するとスマホやタブレットのアプリ実行時間やGPSにより位置移動も把握することができます。どこにいったのいつだっけ?というのを後で確認することができます。

Manic Time クラウド契約の場合

クラウドライセンスの場合は$84($7/月の年払い)で3台のデバイス対応で、サーバーはクラウドとなります。個人でのサーバーの導入が不要で簡単に使えますが、ライセンス形態はStandardで3台のデバイス、Ultimateで5台のデバイスで使えて、割引のない年払いまたは月払いのサブスクリプションとなっています。。

Synology NASでDockerを使う

ここではクラウド契約ではなく、サーバーにはSynology NAS DiskStation DS923+を使用しています。DiskStationでDockerを使うにはPlus以上(ビジネス向けモデル)が必要です。DS223やDS223jなどはDockerが使えるパッケージが用意されていません。

準備

DSM(Synology DiskStation Manager)のパッケージセンターで「Container Manager」をインストールします。

DiskStationにパッケージのContainer Managerをインストール

Dockerを使うのに必要なパッケージです。Container ManagerはDSM7.2以降で追加することのできるパッケージです。

DSMのコントロールパネルでDockerのデータを保存する共有フォルダ「\Docker」を作成します。

DiskStationにDockerで使う共有フォルダとデータフォルダを作成

\Dockerの中にManicTime Serverで使うデータフォルダ「\manictimeserver\Data」を作成します。フォルダの作成は標準で組み込まれているパッケージ「FileStation」を使用します。フォルダ名なので管理するのに分かり易く何でも構いませんがWindowsのフォルダと異なり、大文字小文字が区別されることに注意が必要です。

Container Managerでの設定

Container Manager[レジストリ]で「manictime/manictimeserver」を検索して選択して上にある「ダウンロード」ボタンを押す。

コンテナマネージャーでmanictimeserverをダウンロード

タグ(バージョン)は「latest」を選択して適用する。latestは公開されている最新のバージョンを表しています。

Container Managerの[イメージ]を開いてアップデートがあればアップデートを実行。latestを選んでいても自動アップデートはされません。ダウンロード後に新しいバージョンが公開された場合は手動でアップデートする必要があります。

Container Managerの[コンテナ]でコンテナを作成。

  • イメージ:manictime/manictimeserver
  • コンテナ名:ManicTimeServer
manictimeserverのコンテナの作成と設定

コンテナの詳細設定

ポート設定:8080 (ローカル)|8080 (コンテナ)|TCP

ローカルの8080が別の機能で使用している場合は8081など空いているポート番号に変更。URLでアクセスするときの後ろに付けるポート番号となります。

ボリューム設定:\docker\manictimeserver\Data を選択

テキストボックスには「/app/Data」と入力

読み取り/書き込み」を選択 (標準)

これにより内部で/app/Dataへのファイルアクセスは\docker\manictimeserver\Data にたいして行われます。

ManicTime Server コンテナのポートマッピングとボリュームマッピング

環境:

 Logging__Console__FormatterName:「json」と入力 ※DiskStationでは入力が必須のフィールドになっています。

ManicTime Server コンテナの環境設定

ここではログをjson形式で保存しますが、分かる人は管理しやすい形式にしておきましょう。

その他の設定は変更なし で完了です。

データファイルの作成のあとにコマンドで管理者を追加するために、コンテナを開始してから停止させます。

コンテナを開始したときに作成したデータフォル「\Docker\manictimeserver\Data」にファイルが作られていることをパッケージのFile Stationで確認しましょう。ファイルが作られていない空のフォルダになっている場合はフォルダの設定にミスがあるので確認しましょう。

SSHで管理者を追加

DSMでSSHを有効にします。

 コントロールパネル>端末とSNMP>SSHサービスを有効にする

DiskStationのSSHを有効にする

DSMのSSHに接続してコマンドを開きます。

SSH接続にTera Termを使う場合

最新のTera termをGitHubでダウンロードしてインストールします。(2025/03現在:teraterm-5.4.0.exeをダウンロードしてインストール)

接続設定

  • ホストはNASのアドレス / TCPポートはNASで設定されているSSHのポート番号 / サービスはSSH
  • ログインのユーザー名とパスワードはNASの管理者
Tera TermでDiskStationにSSHに接続
Tera Termでログイン認証

DSMのSSHに接続したらコマンドを入力します。

Tera Termでコマンド入力
sudo docker run -v /volume1/docker/manictimeserver/Data:/app/Data  -p 8080:8080 --rm --entrypoint dotnet manictime/manictimeserver ManicTimeServer.dll addadmin -u 管理者用メールアドレス -p 管理者用パスワード

管理者用メールアドレスにはManicTime Serverにログインするためのメールアドレスを入れます。

管理者用パスワードにはManicTime Serverにログインするためのパスワードを入れます。

「管理者用メールアドレス」と「管理者用パスワード」を書き換えてからコピーしてコマンドに貼り付けると入力ミスがなく実行できます。これは作成したサーバーへの管理者のログイン用となります。ManicTimeの購入や登録したときのメールアドレスとは関係ありません。DiskStationのログインや共有フォルダなどに使うユーザー管理とも無関係です。

sudoコマンドを使い管理者権限で実行しています。コマンド入力後にパスワードの入力が求められた場合はDSMの管理者のパスワードを入力します。テンキー付きキーボードの場合はテンキーのEnterキーではなく文字側のEnterキーを使います。

※入力した文字の左側をまとめて削除したいときはCTRL+Uキーで削除できます。コピーした文字の貼り付けはマウスの右クリックやShift+Insertキーになります。貼り付けがCTRL+Vではないことに注意。

コンテナを起動してManictime ServerのURL (http://192.168.x.x:8080) にアクセス。
※ 192.168.x.xはDiskStationのローカルアドレスが入ります。

作成した管理者用メールアドレスとパスワードでログイン。

ログインに成功できたらDiskStationのSSHを無効にする!

SSHは使用しないときは無効にしましょう❗SSHが有効なときは不正アクセスのリスクが高まります。

ManicTime以外の画面が表された場合は:8080が別の機能で使われていてそちらが表示されていることが考えられます。

:8080を省略した場合はDiskStationの標準のWebが表示されます。

Forbiddenと表示される場合はDiskStationのファイアーウォールでブロックされていることが考えられます。ファイアーウォールを一時的に無効にして確認しましょう。確認が終わったら設定を変更するなどして有効に戻すことを忘れずに。無防備に外部から接続できてしまうと不正アクセスやウイルスなどでやられやすいです。

ManicTime Serverの設定

GeneralのLanguageをJapaneseに変更。(日本語表示に変わる)

ManicTime Serverの管理設定

ライセンスにManicTime Proの名前とライセンスキーを入力。(MinicTimeを購入したときのライセンス)

ユーザーの追加にはユーザー分のライセンスを追加購入する必要があります。

サーバーURLに外部アクセス可能なホスト名がある場合はそれを使用。(DiskStationにDDNSや独自ドメインを設定している場合など、https://[ドメイン]:8080とする)

サイト設定の生産性では送られてきたアプリ名に「生産性」と「カテゴリー」を割り当て可能。生産性は業務なら「生産的」業務以外では「非生産的」とすると良いです。作業しているアプリではない(ツールやスマホのホーム画面など)は「無視する」を割り当てて無視しましょう。

ManicTime Serverのカテゴリー画面

カテゴリーの追加は割り当ての横に「カテゴリー」タブがあるので、そこで「新しいカテゴリー」の追加やアクションボタンでカテゴリーの編集や消去が行えます。

PCのスクリーンショットをサーバーでも管理したい場合はサイト設定のスクリーンショットを設定します。

その他の設定は個人でのManicTimeの使い方ではほぼ使わないものなので軽く目を通して設定完了とします。

重要:スクリーンショットのサーバー送信について

ローカルアドレスやセキュアなVPNではなく、通信が保護されていないグローバルアドレスや第三者が通信データを監視できるネットワークを使用して接続する場合はスクリーンショットをサーバーに送信しない設定にします。送信される過程でスクリーンショットに映っている入力情報(個人情報や機密情報)などが漏洩する恐れがあることに注意が必要です。

スクリーンショットを確認してタグ付けする必要がない場合はスクリーンショットを無効にするのが安心です。スクリーンショットの保存と送信の無効化はクライアント側で行います。

Windows版 ManicTime ProをServerに接続

設定を開いてサーバーに接続。

ManicTime Windowsの設定からManicTime Serverに接続
ManicTime Serverへの接続設定

Windowsで記録されていたデータはサーバーにアップロードされます。

スマホでのManicTimeについて

スマホアプリのManicTimeにはスクリーンショット機能がありませんが、位置情報のLocationsと電話情報のPhone callsがあります。Phone classの有効化にはManicTime単体では動作せずにプラグインの追加が必要です。管理する必要のない情報のTrackingは無効にしておきましょう。

スマホアプリはスマホの省エネ機能により動作が停止してしまうことがあります。バックグランドで常に記録をしたい場合は省エネ機能にManicTimeを除外登録する必要があります。

Androidの場合、ManicTimeの情報 > バッテリー でバックグランド(アプリを表示せずに裏で動いている状態)の動作を選ぶことができます。標準では最適化(システムが自動で判別)になっています。

スマホアプリの設定

アプリを初めて起動した場合はプライバシーポリシー(Privacy Policy)に同意(AGREE)する必要があります。

CONFIGURE SEVER(Connect to server)を開きSERVERに移動する(初期はCLOUDが表示されるので切り替え)

ManicTime ServerにログインするURLと上で作成したサーバーへのログイン用のメールアドレス(Username)とパスワードを入力。URLの最後に:8080の付け忘れに注意。

ManicTime Serverへのログイン設定

Trackingでトラッキングしたくない項目があればオフに変更。Phone callsは別アプリのインストールが必要なので使わないならオフにする。

設定はメニュー>Options>Trakingにあります。

スマホアプリのトラッキング設定

Missing permissionsでトラッキングしたい項目をENABLEでアプリへの権限を追加。(権限を追加しないと使用したアプリなどを判別できない)

ManicTime Serverで時間管理

基本はチームのダッシュボードか個人のタグ付け画面が良いと思う。

ManicTime Serverのタグ管理

チームのダッシュボードでは仕事中の時間管理に有効です。アプリなどの関連付けで生産的/非生産的の時間分布が分かります。

チームのダッシュボードでアプリとWebの時間と生産性を確認

個人的な時間の確認は個人のタグ付けでWindows版の基本画面と同じ見方ができます。スマホなど複数の端末も一緒に表示されるので分かり易いです。

タグの色や名前を変える場合はタグ>タグエディタのアクションで変更できます。

アプリごとの生産性やカテゴリーの割り当てはメイン画面ではなく設定の中のサイト設定>生産性にあります。設定変更するのどこだっけ?となりやすいですが、設定はそのまま設定の中にあります。

生産的/非生産的/無視する に、中立も欲しいところ。アプリによっては生産的と非生産的両方で使うことがありますね。中立がないので代わりに無視するを選んでいます。

関連記事

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


日本語の文章でないと受け付けません。コメントはすぐには公開されません。(スパム対策)

目次