Skip to content

misskey-kit/misskey-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

misskey-kit

misskeyサーバーを簡単に立てるためのdocker compose定義
Cloudflareを使うので固定IPアドレスは不要、それどころかグローバルIPアドレスさえ不要です。

用意するもの: dockerコマンドとdocker-composeコマンドが動くLinux環境(WSL可)

立ち上がるもの:

  • Misskey(高速ノート検索が有効になった状態)
  • 藍ちゃんbot

クイックスタート: localhostでの起動を試す場合

  1. etc/misskey-default.ymlのurl:の欄がhttp://localhostになっていることを確認します
  2. docker-compose up -d --wait webを実行します
  3. http://localhost/ にアクセスします

クイックスタート: ドメインを使う場合

ドメイン名をexample.comとし、これがCloudflareで管理されているものとします

  1. Cloudflare Tunnelsでtunnelを作成します。トークンが生成されますが、それは直接「トークンだ」と表示されるものではなく、表示されているconnector実行用コマンドに含まれる無意味な長い文字列です。
  2. etc/misskey-default.ymlのurl:の欄をhttps://example.comに書き換えます
  3. etc/docker.envのTUNNEL_TOKEN=の欄にCloudflare Tunnelsのトークンを入力します
  4. Cloudflare Tunnelsの設定で、Public Hostnameとしてexample.com/を、そのserviceとしてHTTP://lbを設定します
  5. docker-compose up -d --wait webを実行します。これで、http://localhost/ でサーバーにローカルアクセスできることを確認します
  6. docker-compose up -d --wait tunnelを実行します
  7. https://example.com/ にアクセスします

追加: DBバックアップとその定期実行

  1. AWS S3 をはじめとするオブジェクトストレージを作成し、そのクレデンシャルを用意します
  2. etc/docker.envのAWS_ACCESS_KEY_ID=の欄にAWSのアクセスキーを入力します
  3. etc/docker.envのAWS_SECRET_ACCESS_KEY=の欄にAWSのシークレットアクセスキーを入力します
  4. etc/docker.envのAWS_DEFAULT_REGION=の欄にAWSのリージョンを入力します。AWS S3以外のオブジェクトストレージの場合はそのままにしておきます
  5. AWS S3以外のオブジェクトストレージの場合は、etc/docker.envのS3_ENDPOINT=の欄にオブジェクトストレージのエンドポイントURLを入力します
    • ヒント: Cloudflare R2の場合、https://XXXXXXXXXX.r2.cloudflarestorage.com/BUCKET_NAMEのようなURLを案内されますが、最後のBUCKET_NAMEは不要です。バケット名はこのあとBACKUP_OBJECT_S3URLを指定するときに使います
  6. etc/docker.envのBACKUP_OBJECT_S3URL=の欄にS3://から始まるバケット名を含むパス名を入力します
  7. bin/backup-db.shを実行すると、バケット上に指定通りのキー名でDBのバックアップが作成されます
  8. etc/crontab に毎時のbin/backup-db.sh呼び出しが設定されているので、この通りに自動バックアップされるようになります
  9. リストアの練習は、他のサーバーに同じ設定ファイルを置いて行うのがよいでしょう
    1. docker compose up -d db としてDBを起動します
    2. bin/restore-db.shとしてDBをリストアします
    3. docker compose up -d webとしてMisskeyを起動します
    4. http://localhost/ にアクセスします。バックアップしたときの状態に戻っているはずです
  10. 実際のリストアの際には、次のような手順になるでしょう
    1. docker compose down でいったん全コンテナを終了します
    2. docker compose up -d db としてDBだけを起動します
    3. bin/restore-db.shとしてDBをリストアします
    4. docker compose up -d webとしてMisskeyを起動します
    5. http://localhost/ にアクセスし、バックアップしたときの状態に戻っていることを確認します
    6. docker-compose up -d --wait tunnelを実行しWebに公開します

追加: misskeyのアップデート

  1. bin/update-misskey.shを実行します。これは 公式Dockerhub から最新のイメージを取得し、アプリケーションインスタンスを更新します。このとき、新しいバージョンのコンテナを起動してから既存のコンテナを停止するため、サービスは無停止です
  2. β版など、latest以外のタグを使いたい場合は、bin/update-misskey.sh TAGのようにタグ名を指定します

追加: 藍ちゃんbotの立ち上げ

  1. Misskey上で藍ちゃん用のアカウントを作ります
  2. そのアカウントで、APIトークンを発行します。権限はすべて付いたものにします
  3. Gemini APIのページ https://ai.google.dev/gemini-api/docs?hl=ja で「Gemini APIを取得する」から無料のAPIキーを取得します
  4. etc/docker.envのAI_MISSKEY_TOKEN=の欄にMisskeyアカウントのAPIトークンを入力します。AI_GEMINI_API_TOKEN=の欄にGemini APIキーを入力します
  5. docker-compose up -d aiとして藍ちゃんを起動します
  6. Misskey上で藍ちゃんアカウントに ping などと話しかけてみてください
  7. crontabには、夜11時半に藍ちゃんを止めて朝7時半に藍ちゃんを起動するタイマーが記述されています。また、夜11時半には藍ちゃんにおやすみのあいさつをノートさせるタイマーも記述されています。必要に応じて調整してください

About

misskeyサーバーを簡単に立てるためのdocker compose定義

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published