Skip to content

CLI コマンドリファレンス

SirrChat は、メールサーバーの管理とメンテナンスのための機能完全なコマンドラインツールを提供します。

基本コマンド

sirrchatd

メインプログラムコマンド。

bash
sirrchatd [command] [flags]

グローバルオプション

bash
--config string      設定ファイルパス(デフォルト "~/.sirrchatd/config.toml")
--debug              デバッグモードを有効化
--help, -h           ヘルプ情報を表示
--version, -v        バージョン情報を表示

サービス管理

run

メールサーバーを起動。

bash
sirrchatd run [flags]

オプション:

bash
--daemon             バックグラウンドで実行
--pid-file string    PID ファイルパス

例:

bash
sirrchatd run --config /etc/sirrchatd/config.toml

stop

実行中のサーバーを停止。

bash
sirrchatd stop

restart

サーバーを再起動。

bash
sirrchatd restart

status

サーバーステータスを表示。

bash
sirrchatd status

出力:

ステータス: 実行中
PID: 12345
稼働時間: 2日 5時間 32分
接続数: 42
処理済みメッセージ: 15,234

ユーザー管理

user create

新しいユーザーを作成。

bash
sirrchatd user create [flags]

オプション:

bash
--username string    ユーザー名(メールアドレス)
--password string    パスワード
--quota string       ストレージクォータ(例: "5GB")
--blockchain string  ブロックチェーンウォレットアドレス

例:

bash
sirrchatd user create \
  --username user@example.com \
  --password secretpass \
  --quota 5GB

user delete

ユーザーを削除。

bash
sirrchatd user delete --username user@example.com

user list

すべてのユーザーをリスト。

bash
sirrchatd user list [flags]

オプション:

bash
--domain string      ドメインでフィルター
--format string      出力フォーマット (table|json|csv)

user modify

ユーザー情報を変更。

bash
sirrchatd user modify \
  --username user@example.com \
  --quota 10GB

user password

ユーザーパスワードを変更。

bash
sirrchatd user password \
  --username user@example.com \
  --new-password newpass

ドメイン管理

domain add

新しいドメインを追加。

bash
sirrchatd domain add --name example.com

domain delete

ドメインを削除。

bash
sirrchatd domain delete --name example.com

domain list

すべてのドメインをリスト。

bash
sirrchatd domain list

設定管理

config init

デフォルト設定ファイルを生成。

bash
sirrchatd config init > config.toml

config verify

設定ファイルを確認。

bash
sirrchatd config verify

config get

設定項目を取得。

bash
sirrchatd config get server.hostname

config set

設定項目を設定。

bash
sirrchatd config set server.hostname mail.example.com

DKIM 管理

dkim generate

DKIM キーペアを生成。

bash
sirrchatd dkim generate \
  --domain example.com \
  --selector default \
  --bits 2048

dkim show

DKIM 公開鍵レコードを表示。

bash
sirrchatd dkim show --domain example.com

出力:

この TXT レコードを DNS に追加:

default._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBg..."

クォータ管理

quota get

ユーザークォータを表示。

bash
sirrchatd quota get --user user@example.com

出力:

ユーザー: user@example.com
クォータ: 5 GB
使用量: 1.23 GB (24.6%)
利用可能: 3.77 GB

quota set

ユーザークォータを設定。

bash
sirrchatd quota set \
  --user user@example.com \
  --quota 10GB

quota list

すべてのユーザーのクォータ使用量をリスト。

bash
sirrchatd quota list --sort-by used

バックアップとリカバリー

backup create

バックアップを作成。

bash
sirrchatd backup create \
  --output /backups/sirrchat-$(date +%Y%m%d).tar.gz \
  --compress

オプション:

bash
--user string        特定のユーザーのみバックアップ
--domain string      特定のドメインのみバックアップ
--exclude-attachments  添付ファイルを除外

backup restore

バックアップを復元。

bash
sirrchatd backup restore \
  --input /backups/sirrchat-20250115.tar.gz

backup list

利用可能なバックアップをリスト。

bash
sirrchatd backup list --path /backups

データベース管理

db migrate

データベースマイグレーションを実行。

bash
sirrchatd db migrate

db ping

データベース接続をテスト。

bash
sirrchatd db ping

db vacuum

データベースを最適化。

bash
sirrchatd db vacuum

ストレージ管理

storage stats

ストレージ統計を表示。

bash
sirrchatd storage stats

storage test

ストレージ接続をテスト。

bash
sirrchatd storage test --type s3

storage migrate

ストレージバックエンドを移行。

bash
sirrchatd storage migrate \
  --from local \
  --to s3

storage cleanup

期限切れデータをクリーン。

bash
sirrchatd storage cleanup \
  --older-than 2y \
  --dry-run

モジュール管理

module list

すべてのモジュールをリスト。

bash
sirrchatd module list

module enable

モジュールを有効化。

bash
sirrchatd module enable spam-filter

module disable

モジュールを無効化。

bash
sirrchatd module disable spam-filter

module reload

モジュールをリロード。

bash
sirrchatd module reload --name spam-filter

ログ管理

logs view

ログを表示。

bash
sirrchatd logs view [flags]

オプション:

bash
--lines int          行数(デフォルト 100)
--follow, -f         リアルタイムでログをフォロー
--level string       ログレベルでフィルター
--grep string        キーワードでフィルター

例:

bash
sirrchatd logs view --lines 50 --level error
sirrchatd logs view --follow --grep "user@example.com"

監視コマンド

stats

サーバー統計を表示。

bash
sirrchatd stats

出力:

サーバー統計
-----------------
稼働時間: 2日 5時間 32分
総ユーザー数: 1,234
アクティブセッション: 42
今日のメッセージ: 5,678
ストレージ使用量: 125.5 GB

SMTP 統計
---------------
送信: 2,345
受信: 3,333
拒否: 12

IMAP 統計
---------------
アクティブ接続: 42
コマンド: 12,345

health

ヘルスチェック。

bash
sirrchatd health

出力:

✓ データベース: OK
✓ SMTP: OK
✓ IMAP: OK
✓ ストレージ: OK
✓ メモリ: OK (45% 使用)
✓ ディスク: OK (32% 使用)

診断ツール

diagnose

診断チェックを実行。

bash
sirrchatd diagnose

test-smtp

SMTP 機能をテスト。

bash
sirrchatd test-smtp \
  --from sender@example.com \
  --to recipient@example.com \
  --subject "Test Email"

test-imap

IMAP 機能をテスト。

bash
sirrchatd test-imap \
  --user user@example.com \
  --password pass

シェル補完

シェル補完スクリプトを生成。

Bash

bash
sirrchatd completion bash > /etc/bash_completion.d/sirrchatd

Zsh

bash
sirrchatd completion zsh > "${fpath[1]}/_sirrchatd"

Fish

bash
sirrchatd completion fish > ~/.config/fish/completions/sirrchatd.fish

環境変数

bash
SIRRCHAT_CONFIG      設定ファイルパス
SIRRCHAT_DEBUG       デバッグモードを有効化
SIRRCHAT_LOG_LEVEL   ログレベル
SIRRCHAT_DATA_DIR    データディレクトリ

詳細情報:

Released under the GPL 3.0 License.