コマンドラインで管理する
一部の運用者向けタスクは、Webアプリではなくコマンドラインで行います。このページでは、インスタンスを運用する際に実際に必要になりそうなartisanコマンドを、それぞれ詳しく説明しているページへのリンクとともに一覧にしています。
Dockerでのインストールでは、すべてのコマンドをwebコンテナ経由で実行します。
docker compose exec app php artisan <command>
日常の運用
インスタンス管理者権限の付与と剥奪
php artisan kollek:make-instance-administrator you@example.com
php artisan kollek:make-instance-administrator you@example.com --revoke
指定したメールアドレスのユーザーに、サーバー全体の管理者フラグを付与(または剥奪)します。インストール後、最初の管理者を用意する方法はこれです。インスタンス管理者権限を付与するを参照してください。
Webhookエンドポイントを作成する
php artisan kollek:create-webhook-endpoint you@example.com https://example.com/hooks --label="My receiver"
ユーザーのためにWebhookエンドポイントを登録し、そのIDと署名用シークレットを出力します。ユーザー自身がプロフィール設定から行うこともできます。なお、現時点ではWebhookを発火させるアプリケーションイベントはまだありません。Webhookを参照してください。
写真検索インデックスを再構築する
php artisan photos:rebuild-search-index
写真ライブラリを支える検索インデックスを再構築し、不足している画像の寸法をさかのぼって補完します。写真画面が導入されたバージョンにアップグレードした後、一度だけ実行してください。何度実行しても安全で、ファイルが見つからない写真はスキップされ、それ以外には何も変更を加えません。インスタンスをアップグレードするを参照してください。
アカウント検索インデックスを再構築する
php artisan search:rebuild-index
アカウント全体の検索を支えるインデックスを、アイテム、コレクション、コピー、写真、貸出、保管場所、セット、シリーズ、カテゴリ、タグ、書類にわたって再構築します。検索が導入されたバージョンにアップグレードした後、一度だけ実行してください。マイグレーションが作るのはテーブルだけで、中身を埋めるのはこのコマンドです。--type=item を付けると 1 種類のレコードだけを再構築します。何度実行しても安全で、インデックスがずれたときの対処法でもあります。アカウント全体を検索するを参照してください。
Cloudflareのキャッシュを消す
php artisan kollek:purge-cloudflare-cache
Cloudflareが保持している公開ページをすべて破棄します。通常、これらのページは7日間Cloudflareのキャッシュから配信されます。失われるものはなく、各ページは次の訪問時に再びレンダリングされます。このコマンドにはCLOUDFLARE_API_TOKENとCLOUDFLARE_ZONE_IDが必要で、設定されていなければその旨を伝えます。同じボタンはパネルにもあり、インスタンス管理パネルで説明しています。
翻訳用にロケールをひな形化する
php artisan kollek:localize fr_FR
アプリケーション内の翻訳可能な文字列をすべて抽出し、そのロケールのlang/配下のJSONファイルに同期します。言語を追加するを参照してください。
開発用のみ
コードベースにはあと2つコマンドがありますが、どちらも本番インスタンスで使うものではありません。kollek:brunoは、APIクライアントのテスト用にシードデータでデータベースをリセットするもので、実データを破壊してしまいます。kollek:sync-skillsは、プロジェクト自身のツール群を保守するためのものです。運用者としては、どちらも気にする必要はありません。
本番インスタンスでkollek:brunoを絶対に実行しないでください。データベースを消去し、デモデータで再シードします。
次に読むべきもの
- インスタンス管理者権限を付与するで、最初の管理者を用意しましょう。
- インスタンスをアップグレードするで、インスタンスを最新の状態に保ちましょう。
- 言語を追加するで、インターフェースを翻訳しましょう。