タグ「わーさんがやってみた」を含む投稿[9件]
ElasticSearchをダウングレード?した時のメモ
正直ほぼ忘れかけてるけど今後も同じことやらかさないとは限らないので……(遠い目 #わーさんがやってみた
> Ubuntuで Elasticsearch の過去バージョン をインストールしたい場合は、公式リポジトリから直接 DEBパッケージ をダウンロードしてインストールする方法が便利です。
①Elasticsearchアーカイブページにて必要なバージョンを選択し、対応する amd64のDEBパッケージ のダウンロードURLを確認
wget ダウンロードURL
②パッケージのインストールを行います。
sudo dpkg -i elasticsearch-(バージョン)-amd64.deb
このあとエラー祭りとなり、調べたところどうやら以前にインストールされていた Elasticsearch 7.17.26 のデータディレクトリが存在し、今回インストールした 7.17.24 ではそのデータ形式と互換性がないため、ダウングレードできずに起動が失敗していた模様。
③データを初期化の上で、起動します。
sudo mv /var/lib/elasticsearch /var/lib/elasticsearch_backup
sudo mkdir /var/lib/elasticsearch
sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch
sudo chmod 700 /var/lib/elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
sudo systemctl status elasticsearch
④以下、新規インストールの手順を踏襲します。
【備考】
設定ファイルも吹っ飛んでいるので、メモリを限定している場合は確認が必要
sudo nano /etc/elasticsearch/jvm.options
正直ほぼ忘れかけてるけど今後も同じことやらかさないとは限らないので……(遠い目 #わーさんがやってみた
> Ubuntuで Elasticsearch の過去バージョン をインストールしたい場合は、公式リポジトリから直接 DEBパッケージ をダウンロードしてインストールする方法が便利です。
①Elasticsearchアーカイブページにて必要なバージョンを選択し、対応する amd64のDEBパッケージ のダウンロードURLを確認
wget ダウンロードURL
②パッケージのインストールを行います。
sudo dpkg -i elasticsearch-(バージョン)-amd64.deb
このあとエラー祭りとなり、調べたところどうやら以前にインストールされていた Elasticsearch 7.17.26 のデータディレクトリが存在し、今回インストールした 7.17.24 ではそのデータ形式と互換性がないため、ダウングレードできずに起動が失敗していた模様。
③データを初期化の上で、起動します。
sudo mv /var/lib/elasticsearch /var/lib/elasticsearch_backup
sudo mkdir /var/lib/elasticsearch
sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch
sudo chmod 700 /var/lib/elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
sudo systemctl status elasticsearch
④以下、新規インストールの手順を踏襲します。
【備考】
設定ファイルも吹っ飛んでいるので、メモリを限定している場合は確認が必要
sudo nano /etc/elasticsearch/jvm.options
ubuntuアップグレードとそれに伴う諸々メモ
いわゆる、#わーさんがやってみた の一環。
事前準備
全パッケージが最新であることの確認
(でないとそもそもアップグレードしてくれない)
実行中の引っかかりポイント
やたらyNで聞かれるので何も考えずにEnter連打すると普通にキャンセルされる
(事前情報により)実行後やったこと
①liveまで行く
②rm -fr vendor
③念の為にrubyのアンインストール→再インストール
④bundle install
まだやること
https://zenn.dev/ciffelia/articles/postgres-collation-version-mismatch
(PostgreSQLからの警告解除、データベース止めた方が良いらしいので時間確保してから)
https://github.com/WorksApplications/elasticsearch-sudachi/releases
(最新版対応が出れば全文検索の復活チャレンジ)
いわゆる、#わーさんがやってみた の一環。
事前準備
全パッケージが最新であることの確認
(でないとそもそもアップグレードしてくれない)
実行中の引っかかりポイント
やたらyNで聞かれるので何も考えずにEnter連打すると普通にキャンセルされる
(事前情報により)実行後やったこと
①liveまで行く
②rm -fr vendor
③念の為にrubyのアンインストール→再インストール
④bundle install
まだやること
https://zenn.dev/ciffelia/articles/postgres-collation-version-mismatch
(PostgreSQLからの警告解除、データベース止めた方が良いらしいので時間確保してから)
https://github.com/WorksApplications/elasticsearch-sudachi/releases
(最新版対応が出れば全文検索の復活チャレンジ)
ActivityPub Relayチャレンジ2回目
S.H.さん( @S_H_@gamelinks007.net )が、うまくすれば月550円からリレーサーバが運用できるかも、ということで作成されたActivityPub Relayのデプロイに挑戦した、 #わーさんがやってみた シリーズ2回目の記事です。
話題にしているActivityPub Relayのソースコードはこちら。
https://github.com/S-H-GAMELINKS/activity-pub-relay
そして、デプロイするまでの初回記事はこちらです。
デプロイ後の初期設定
なんと、VPSにログインしにいくことなく、手元のPCでできてしまいます。
自分のPCのactivity-pub-relayディレクトリ内で以下のコマンドを使用しましょう。
kamal console
なんと、これでVPS側のRailsのアプリケーションのコンソールを起動できるそうです。
実際、何やら実行結果が流れた後に、コマンドが打てるようになります。
初期設定としては、メールアドレスとパスワードが必要です。
実際は、それぞれ自分のメールやパスワードを使用してください。
User.create!(email_address: "relay@example,com", password: "relay_example_password")
入力時は、このメールアドレスとパスワードをそれぞれ囲っている記号に十分注意してください。
似たような記号がありますが、間違えるとこんな感じでエラーになります。
(activity-pub-relay):1: syntax error, unexpected instance variable, expecting `do' or '{' or '(' (SyntaxError)
うまく設定できれば https:// <リレーサーバのドメイン> /session/new にてログインできるようになりますので、ブラウザからログインに行きます。
ダッシュボードに接続されれば、初期設定はできています。
kamal consoleの終わらせ方
わーさんはコントロールキー+Dにて終わらせました。
exitと打ってエンターキーでも終了できるそうです。
初期設定後の操作
リレーへのサーバーの追加・強制脱退方法
参加させたいサーバーのコントロールパネルにてリレーの設定項目に https:// <リレーサーバのドメイン> /inbox を追加すると、自動的にリレーに参加していきます。
v0.3.0では、ダッシュボードからSubscribe serversというリンクを辿れば、参加サーバーの一覧が確認できます。
サーバー名をクリックすることで、強制脱退や情報の再取得が可能なメニューにアクセスできます。
ジョブキューの確認方法
v0.3.0では、ダッシュボードからjob dashboardのリンクを辿れば閲覧できます。
なんと、このリレーサーバー、終わったジョブをデータベースから定期的に自分で削除する機能があり、つまりその分データベースの肥大化が抑えられるというエコ仕様。
うまくすれば月550円(KAGOYAさんの最小プラン)からリレーサーバが運用できるかも、というのはつまりそういうことのようです。
サーバーのアプデ
v0.3.0以降にデプロイされたサーバーであれば、基本的にタグに追従し、環境をアプデしていけば良さそうです。
以下、手元のPCにて行いましょう。
⓪Rubyのバージョンアップ(必要時)
rbenv install <バージョン数字>
rbenv global <バージョン数字>
①更新内容の確認とソース変更
cd activity-pub-relay
git fetch --tags
git checkout <新しいタグ>
補足:gitがdetached HEADの状態であるというコメントについて
(『さばかんライフ!』原稿から、多少の文言を今回の仕様に合わせて変更しています。本文のノリを確認したいあなたにも!)
gitというシステムを使うことでプログラムなどのバージョン管理ができますが、例えば同じプログラムで安定版と開発版を並行して取り扱いたいときに、ブランチという仕組みで枝分かれさせて管理していることが多いです。
もしプログラムの開発に関わっている場合は、このブランチを追いかけて、変更を取り入れたり提案したりします。
一方で、タグという、ここでバージョンを分けるよ!という目印となる仕組みもあり、今回はMastodonなどと同様に、このタグのついたまさにその瞬間のプログラムを自分のPCに引っ張ってきて更新するようなコマンドを採用しています( `git checkout <新しいタグ>` 、が該当コマンドで、これを実行したらソースが置き換わっています)。
このコマンドの中には、どのブランチを追いかける、という情報は含まれていません。
ブランチを追いかけずに特定のバージョンだけをピンポイントで更新すると、その後、そのバージョンに変更を加えても、提案する先の情報がなく、変更の提案ができません。よって、gitから、ブランチの情報がないよ!とコメントが出されます。これがdetached HEADの正体です。
無改造の場合は、公式にタグで指定された更新を追いかけるだけで問題ないと思われますので、コメントが出てもスルーしました。
②Rubyパッケージアップデート
bundle install
③VPSへの転送
kamal deploy
S.H.さん( @S_H_@gamelinks007.net )が、うまくすれば月550円からリレーサーバが運用できるかも、ということで作成されたActivityPub Relayのデプロイに挑戦した、 #わーさんがやってみた シリーズ2回目の記事です。
話題にしているActivityPub Relayのソースコードはこちら。
https://github.com/S-H-GAMELINKS/activity-pub-relay
そして、デプロイするまでの初回記事はこちらです。
デプロイ後の初期設定
なんと、VPSにログインしにいくことなく、手元のPCでできてしまいます。
自分のPCのactivity-pub-relayディレクトリ内で以下のコマンドを使用しましょう。
kamal console
なんと、これでVPS側のRailsのアプリケーションのコンソールを起動できるそうです。
実際、何やら実行結果が流れた後に、コマンドが打てるようになります。
初期設定としては、メールアドレスとパスワードが必要です。
実際は、それぞれ自分のメールやパスワードを使用してください。
User.create!(email_address: "relay@example,com", password: "relay_example_password")
入力時は、このメールアドレスとパスワードをそれぞれ囲っている記号に十分注意してください。
似たような記号がありますが、間違えるとこんな感じでエラーになります。
(activity-pub-relay):1: syntax error, unexpected instance variable, expecting `do' or '{' or '(' (SyntaxError)
うまく設定できれば https:// <リレーサーバのドメイン> /session/new にてログインできるようになりますので、ブラウザからログインに行きます。
ダッシュボードに接続されれば、初期設定はできています。
kamal consoleの終わらせ方
わーさんはコントロールキー+Dにて終わらせました。
exitと打ってエンターキーでも終了できるそうです。
初期設定後の操作
リレーへのサーバーの追加・強制脱退方法
参加させたいサーバーのコントロールパネルにてリレーの設定項目に https:// <リレーサーバのドメイン> /inbox を追加すると、自動的にリレーに参加していきます。
v0.3.0では、ダッシュボードからSubscribe serversというリンクを辿れば、参加サーバーの一覧が確認できます。
サーバー名をクリックすることで、強制脱退や情報の再取得が可能なメニューにアクセスできます。
ジョブキューの確認方法
v0.3.0では、ダッシュボードからjob dashboardのリンクを辿れば閲覧できます。
なんと、このリレーサーバー、終わったジョブをデータベースから定期的に自分で削除する機能があり、つまりその分データベースの肥大化が抑えられるというエコ仕様。
うまくすれば月550円(KAGOYAさんの最小プラン)からリレーサーバが運用できるかも、というのはつまりそういうことのようです。
サーバーのアプデ
v0.3.0以降にデプロイされたサーバーであれば、基本的にタグに追従し、環境をアプデしていけば良さそうです。
以下、手元のPCにて行いましょう。
⓪Rubyのバージョンアップ(必要時)
rbenv install <バージョン数字>
rbenv global <バージョン数字>
①更新内容の確認とソース変更
cd activity-pub-relay
git fetch --tags
git checkout <新しいタグ>
補足:gitがdetached HEADの状態であるというコメントについて
(『さばかんライフ!』原稿から、多少の文言を今回の仕様に合わせて変更しています。本文のノリを確認したいあなたにも!)
gitというシステムを使うことでプログラムなどのバージョン管理ができますが、例えば同じプログラムで安定版と開発版を並行して取り扱いたいときに、ブランチという仕組みで枝分かれさせて管理していることが多いです。
もしプログラムの開発に関わっている場合は、このブランチを追いかけて、変更を取り入れたり提案したりします。
一方で、タグという、ここでバージョンを分けるよ!という目印となる仕組みもあり、今回はMastodonなどと同様に、このタグのついたまさにその瞬間のプログラムを自分のPCに引っ張ってきて更新するようなコマンドを採用しています( `git checkout <新しいタグ>` 、が該当コマンドで、これを実行したらソースが置き換わっています)。
このコマンドの中には、どのブランチを追いかける、という情報は含まれていません。
ブランチを追いかけずに特定のバージョンだけをピンポイントで更新すると、その後、そのバージョンに変更を加えても、提案する先の情報がなく、変更の提案ができません。よって、gitから、ブランチの情報がないよ!とコメントが出されます。これがdetached HEADの正体です。
無改造の場合は、公式にタグで指定された更新を追いかけるだけで問題ないと思われますので、コメントが出てもスルーしました。
②Rubyパッケージアップデート
bundle install
③VPSへの転送
kamal deploy
ActivityPub Relayチャレンジ初回編
S.H.さん( @S_H_@gamelinks007.net )が、うまくすれば月550円からリレーサーバが運用できるかも、ということで作成されたActivityPub Relayのデプロイに挑戦した、 #わーさんがやってみた シリーズ初回分の記事です。
多分、2回目とか出てきます。
ActivityPub Relayのソースコードはこちら。
https://github.com/S-H-GAMELINKS/activity-pub-relay
大まかな手順
自分の手元のPCにて諸々を準備した後、Dockerを利用したKamalによりVPSに持っていく流れです。
準備するもの
①自分のPCにDocker、Rubyを入れます。
わーさんはMacBook Airを使いましたが、多分開発されてるS.H.さんはWindowsのような気がしますし、Windowsでも大丈夫と思います。
→追記:Windows(WSL/Ubuntu 22.04)での開発だそうです。
Dockerはアカウントの確保が必要、リポジトリ作成は不要です。
入れたDockerアプリを起動してログインしておくことを忘れないように(わーさんは忘れました)
https://www.docker.com/ja-jp/
RubyについてはわーさんはrbenvをHomebrew経由で入れました。
https://github.com/rbenv/rbenv
Ruby 3.3.6が必要なので、入れておきましょう。
rbenv install 3.3.6
他のプロジェクトがない場合は、全体を3.3.6にしておいた方が、後で関連スクリプトをbundle installで入れるのにbundlerのバージョンで引っかかりにくくなります。
わーさんは、先にコードをもらってきてローカルだけにRuby 3.3.6を指定した結果、PC内のデフォルトが2.6.0だったみたいで最新のbundlerが使えず、引っかかりました。
rbenv global 3.3.6
ついでに、そのbundlerも念の為に確保しておきましょう。
gem install bundler -v 2.5.23
②ソースコードを持ってきて、関連スクリプトも展開します。
なるべく浅い階層、できれば日本語の混ざらない場所が無難と思います(深い階層に持って行った結果、バグったわーさん談)
MacBook Airでは、Finderなどでフォルダに右クリック相当の動作を行うことで『フォルダに新規ターミナル』が出せてしまうので、うっかり深いところに作りがちですが……。
git clone https://github.com/S-H-GAMELINKS/activity-pub-relay.git
cd activity-pub-relay
bundle install
③Railsで生成される暗号鍵を生成し、予め控えておきましょう。
実は、初回(v0.2.0)では不具合があったようで、散々引っかかりました……。
現在(v0.3.0以降)は解消されています(わーさんも実験済みです)ので、手順をしっかり追えば大丈夫でしょう。
Railsはsecret_key_baseという暗号化の鍵を生成し、機密情報をその鍵で暗号化してしまうので、確保が必要です。
EDITOR=<Your Editor> bin/rails credentials:edit
この<Your Editor>については、各々の使いやすいエディターを指定すると良いでしょう。
コンソール内に鍵となる文字列が表示されますので、絶対必ず忘れずにメモしておきましょう。
Kamalに渡す必要があり、設定として記載する必要が出てきます。
④VPSなどの準備をします。
月額550円、は、KAGOYAさんの最小プランの場合と思われます。
IPの確保、SSH鍵の確保、DNSの設定など行いましょう。
SSH鍵をターミナルに登録するには、以下のコマンドが便利です。
ssh-add <SSH Private Key Path>
Kamalを使うのにもSSH鍵は必要なので、この段階で登録しておくと楽だと思います。
VPSにもDockerを入れておきます。
sudo apt update
sudo apt upgrade -y
sudo apt install -y docker.io curl git
sudo usermod -a -G docker <Server Username>
この<Server Username>については、VPS側での作業ユーザーを設定してdockerとグループ化することが必要です。
⑤DockerHubのAPIトークンを作成します。
これはDockerHubのページ右上から行けるAccount SettingsのSecurityという項目内、Personal access tokensにて作成可能です。
権限は、Read / Write permmisionが必要とのことです。
https://hub.docker.com
確保したトークンも、先ほどの暗号鍵同様に、メモして控えることを忘れずに。
⑥Kamalの設定ファイルを作成します。
ソースコード中の.env.sampleをテンプレートとしてコピー、必要な情報を記載して.envとして作成・保存します。
activity-pub-relayディレクトリ内にいることを確認の上でコマンドを入力しましょう。
cp .env.sample .env
SERVER_IP=<Server IP>
SERVER_USERNAME=<Server Username>
SERVER_SSH_PORT=<Server SSH Port>
LOCAL_DOMAIN=<Server Domain>
KAMAL_REGISTRY_USERNAME=<Registry Username>
KAMAL_REGISTRY_PASSWORD=<Registry Password>
SECRET_KEY_BASE=<secret_key_base value>
サーバードメインにはhttps://は不要です。
また、KamalはDockerを利用していますので、上記のKAMAL_REGISTRY_部分にはDockerでのユーザーネーム、及び先ほど作成したトークンを記載します。
⑦サーバーをデプロイします。
コマンドとしては、kamal setupです。
これも、activity-pub-relayディレクトリ内で入力します。
うまく行っていれば、数分くらいでデプロイが完了します、きっと(散々エラーに引っかかった思い出ばかりで時間がわからないわーさん)
以降、更新があった時は、kamal deployにて更新可能なようです。
なお、この時点で喜び勇んで設定したアドレスに接続してみても、見事に簡素な404ページにしか辿り着きません。
この後、初期設定が必要なのですが、それはまた次以降の記事ということで。
S.H.さん( @S_H_@gamelinks007.net )が、うまくすれば月550円からリレーサーバが運用できるかも、ということで作成されたActivityPub Relayのデプロイに挑戦した、 #わーさんがやってみた シリーズ初回分の記事です。
多分、2回目とか出てきます。
ActivityPub Relayのソースコードはこちら。
https://github.com/S-H-GAMELINKS/activity-pub-relay
大まかな手順
自分の手元のPCにて諸々を準備した後、Dockerを利用したKamalによりVPSに持っていく流れです。
準備するもの
- 先に準備する諸々を入れられる自分のPC(スマホでは無理と思います)
- Dockerアカウント
- VPS
①自分のPCにDocker、Rubyを入れます。
わーさんはMacBook Airを使いましたが、多分開発されてるS.H.さんはWindowsのような気がしますし、Windowsでも大丈夫と思います。
→追記:Windows(WSL/Ubuntu 22.04)での開発だそうです。
Dockerはアカウントの確保が必要、リポジトリ作成は不要です。
入れたDockerアプリを起動してログインしておくことを忘れないように(わーさんは忘れました)
https://www.docker.com/ja-jp/
RubyについてはわーさんはrbenvをHomebrew経由で入れました。
https://github.com/rbenv/rbenv
Ruby 3.3.6が必要なので、入れておきましょう。
rbenv install 3.3.6
他のプロジェクトがない場合は、全体を3.3.6にしておいた方が、後で関連スクリプトをbundle installで入れるのにbundlerのバージョンで引っかかりにくくなります。
わーさんは、先にコードをもらってきてローカルだけにRuby 3.3.6を指定した結果、PC内のデフォルトが2.6.0だったみたいで最新のbundlerが使えず、引っかかりました。
rbenv global 3.3.6
ついでに、そのbundlerも念の為に確保しておきましょう。
gem install bundler -v 2.5.23
②ソースコードを持ってきて、関連スクリプトも展開します。
なるべく浅い階層、できれば日本語の混ざらない場所が無難と思います(深い階層に持って行った結果、バグったわーさん談)
MacBook Airでは、Finderなどでフォルダに右クリック相当の動作を行うことで『フォルダに新規ターミナル』が出せてしまうので、うっかり深いところに作りがちですが……。
git clone https://github.com/S-H-GAMELINKS/activity-pub-relay.git
cd activity-pub-relay
bundle install
③Railsで生成される暗号鍵を生成し、予め控えておきましょう。
実は、初回(v0.2.0)では不具合があったようで、散々引っかかりました……。
現在(v0.3.0以降)は解消されています(わーさんも実験済みです)ので、手順をしっかり追えば大丈夫でしょう。
Railsはsecret_key_baseという暗号化の鍵を生成し、機密情報をその鍵で暗号化してしまうので、確保が必要です。
EDITOR=<Your Editor> bin/rails credentials:edit
この<Your Editor>については、各々の使いやすいエディターを指定すると良いでしょう。
コンソール内に鍵となる文字列が表示されますので、絶対必ず忘れずにメモしておきましょう。
Kamalに渡す必要があり、設定として記載する必要が出てきます。
④VPSなどの準備をします。
月額550円、は、KAGOYAさんの最小プランの場合と思われます。
IPの確保、SSH鍵の確保、DNSの設定など行いましょう。
SSH鍵をターミナルに登録するには、以下のコマンドが便利です。
ssh-add <SSH Private Key Path>
Kamalを使うのにもSSH鍵は必要なので、この段階で登録しておくと楽だと思います。
VPSにもDockerを入れておきます。
sudo apt update
sudo apt upgrade -y
sudo apt install -y docker.io curl git
sudo usermod -a -G docker <Server Username>
この<Server Username>については、VPS側での作業ユーザーを設定してdockerとグループ化することが必要です。
⑤DockerHubのAPIトークンを作成します。
これはDockerHubのページ右上から行けるAccount SettingsのSecurityという項目内、Personal access tokensにて作成可能です。
権限は、Read / Write permmisionが必要とのことです。
https://hub.docker.com
確保したトークンも、先ほどの暗号鍵同様に、メモして控えることを忘れずに。
⑥Kamalの設定ファイルを作成します。
ソースコード中の.env.sampleをテンプレートとしてコピー、必要な情報を記載して.envとして作成・保存します。
activity-pub-relayディレクトリ内にいることを確認の上でコマンドを入力しましょう。
cp .env.sample .env
SERVER_IP=<Server IP>
SERVER_USERNAME=<Server Username>
SERVER_SSH_PORT=<Server SSH Port>
LOCAL_DOMAIN=<Server Domain>
KAMAL_REGISTRY_USERNAME=<Registry Username>
KAMAL_REGISTRY_PASSWORD=<Registry Password>
SECRET_KEY_BASE=<secret_key_base value>
サーバードメインにはhttps://は不要です。
また、KamalはDockerを利用していますので、上記のKAMAL_REGISTRY_部分にはDockerでのユーザーネーム、及び先ほど作成したトークンを記載します。
⑦サーバーをデプロイします。
コマンドとしては、kamal setupです。
これも、activity-pub-relayディレクトリ内で入力します。
うまく行っていれば、数分くらいでデプロイが完了します、きっと(散々エラーに引っかかった思い出ばかりで時間がわからないわーさん)
以降、更新があった時は、kamal deployにて更新可能なようです。
なお、この時点で喜び勇んで設定したアドレスに接続してみても、見事に簡素な404ページにしか辿り着きません。
この後、初期設定が必要なのですが、それはまた次以降の記事ということで。
はてなブログじゃなくても設定できるのかテスト!
参考記事は、以下。
はてなブログの記事の著者としてMastodonアカウントを設定する方法 - await wakeUp();
https://sublimer.hatenablog.com/entry/2024/11/10/170413
てがろぐの場合はスキンに仕込めば(独自ドメインでは)可能なようにも思うけど、実際のところどうなのかと思って実験。
#わーさんがやってみた
参考記事は、以下。
はてなブログの記事の著者としてMastodonアカウントを設定する方法 - await wakeUp();
https://sublimer.hatenablog.com/entry/2024/11/10/170413
てがろぐの場合はスキンに仕込めば(独自ドメインでは)可能なようにも思うけど、実際のところどうなのかと思って実験。
#わーさんがやってみた
Hollo https://docs.hollo.social/ja/ をRailwayとCloudFlare R2で建ててみたので、色々メモ。
①Railwayには予め登録しておくこと
②オブジェクトストレージのURLはhttpsから必要
③アカウント登録はHolloのURLにて
以下、iPhoneからNightfox DAWN、公式アプリ、featherにて。
④アイコンやヘッダーの登録は公式アプリのみ可
⑤投稿はNightfox DAWNは可、feather・公式アプリは不可
※登録した順番の問題の可能性もあり
⑥フォロー承認はfeatherのみ可
追記
⑦オブジェクトストレージを確認すると、一時的なものかもしれないけれど、リモート画像のサムネイルを持っている
⑧kmyblue自鯖から絵文字インポートできたし、インポートした絵文字を投稿内に入れることはできたけれど、リアクションは連合してない(2024/10/16現在)
⑨Misskeyなら絵文字リアクションが連合する
リアクションが連合しない、というのは、kmyblue自鯖からHollo自アカウントに飛ばしても、Hollo自アカウントからkmyblue自鯖に飛ばしても、お互い通知も来なければタイムラインにも出ない感じ。
2024/11/02追記
色々変更あったみたいなので、またそのうち検証。
#わーさんがやってみた #Hollo
①Railwayには予め登録しておくこと
②オブジェクトストレージのURLはhttpsから必要
③アカウント登録はHolloのURLにて
以下、iPhoneからNightfox DAWN、公式アプリ、featherにて。
④アイコンやヘッダーの登録は公式アプリのみ可
⑤投稿はNightfox DAWNは可、feather・公式アプリは不可
※登録した順番の問題の可能性もあり
⑥フォロー承認はfeatherのみ可
追記
⑦オブジェクトストレージを確認すると、一時的なものかもしれないけれど、リモート画像のサムネイルを持っている
⑧kmyblue自鯖から絵文字インポートできたし、インポートした絵文字を投稿内に入れることはできたけれど、リアクションは連合してない(2024/10/16現在)
⑨Misskeyなら絵文字リアクションが連合する
リアクションが連合しない、というのは、kmyblue自鯖からHollo自アカウントに飛ばしても、Hollo自アカウントからkmyblue自鯖に飛ばしても、お互い通知も来なければタイムラインにも出ない感じ。
2024/11/02追記
色々変更あったみたいなので、またそのうち検証。
#わーさんがやってみた #Hollo
kmyblueにElasticsearchを導入してみた忘備録
気が付いたら3時間ほど格闘していたので、今後の為に忘備録を!忘れる前に!!
それなりに文章が長くなるかもしれないので、畳んでおきます。
#わーさんがやってみた
参考サイト・公式系
https://github.com/kmycode/mastodon/wiki/ElasticSearch%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95 (kmyblue公式wiki)
https://docs.joinmastodon.org/admin/elasticsearch/ (Mastodonのドキュメントサイト・英語)
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/install-elasticsearch.html (Elasticsearchのドキュメントサイト・英語)
https://github.com/WorksApplications/elasticsearch-sudachi (Sudachiプラグインを置いてある場所・英語)
https://github.com/WorksApplications/elasticsearch-sudachi/releases (実際に使用中のElasticsearchに対応したSudachiプラグインを探す先・英語)
https://github.com/WorksApplications/SudachiDict (Sudachiプラグイン用の辞書ファイル・英語)
参考サイト・忘備録系
https://blog.noellabo.jp/entry/2019/04/19/YNUL9UsohRgNKSya (『ElasticsearchをMastodonとは別のサーバに設置する』Fedibird管理人のえるさんによる2019年の忘備録)
https://github.com/felx/mastodon-documentation/blob/master/Running-Mastodon/Elasticsearch-guide.md (2018年の英語記事)
https://www.geekfeed.co.jp/amazonlinux2-elasticsearch7-sudachi#elasticsearch-sudachi (『AmazonLinux2にelasticsearch7と日本語の形態素解析器「Sudachi」プラグインをインストール』2020年の記事)
実際に行った作業手順
0.下調べした結果、別サーバーへの設置を諦める
主にVPS同士の通信面への知識不足と、VPSの必要スペックがよく分からなかったことなどから、断念。
1.Elasticsearchの推奨スペックを求めて唸る
普通に検索すると、64GBの物理メモリを準備して半分を割り当て云々……みたいなのが引っかかってきたり、ストレージの必要量もよく分からなかったりしたので、取り敢えず自鯖(RAM 4GB)のメモリ使用量が半分くらいなのを確認の上で、メモリ1GBを割り当てることにしました。
どうやら、MastodonでのElasticsearchは1GBで止まることあり、2GBあれば普通に動くけれど4GBが安定?という話があるようです(風の噂)
のちに、のえるさんから、FedibirdのElasticsearchはRAM 4GBのVPSを3台使っているとの情報を得られました。
2.Elasticsearchをインストールする
基本的にkmyblue公式wikiとMastodonやElasticsearchのドキュメントを見ながら進めていく感じです。
2024年5月現在、Mastodonはバージョン7のElasticsearchを使用すること前提なので、バージョン7.17のElasticsearchを入れます。
非DockerのUbuntuの場合、以下のような感じです。
sudo apt install openjdk-17-jre-headless
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install elasticsearch
systemctl daemon-reload
systemctl enable --now elasticsearch
sudo apt-mark hold elasticsearch
最後の行はSudachiプラグインを使用する際に必要です。
というのも、Sudachiプラグインは厳密にElasticsearchのバージョンに依存するので、勝手にアプデされると使えなくなってしまうからです。
なお、/etc/elasticsearch/jvm.optionsを編集することで、割り当てるメモリを定義することができるようです。
詳細な設定方法は https://github.com/felx/mastodon-documentation/blob/master/Running-Mastodon/Elasticsearch-guide.md (2018年の英語記事)の中ほどにありますが、今回は1GBだけ割り振りたかったので、以下を設定しました。
-Xms256m
-Xmx256m
なお、設定後はElasticsearchの再起動が必要です。
3.Mastodonの設定ファイルを書き換える
これに関してはMastodonのドキュメントサイト・英語の通りですね。
.env.productionに最低限これだけでも書き足します。
ES_ENABLED=true
ES_HOST=localhost
ES_PORT=9200
なお、まだMastodonの再起動は行いません。
4.Sudachiプラグインを導入する
https://github.com/WorksApplications/elasticsearch-sudachi/releases (実際に使用中のElasticsearchに対応したSudachiプラグインを探す先・英語)から、Elasticsearch 7.17.何かしらの数字に対応した最新版のSudachiプラグインのアドレスを取ってきて、/etc/elasticsearch/に導入します。
wget https://github.com/WorksApplications/elasticsearch-sudachi/releases/download/v3.1.1/elasticsearch-7....
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///home/(ユーザー名)/elasticsearch-7.17.21-analysis-sudachi-3.1.1.zip
無事にインストールできたかの確認は、以下のコマンドで。
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list
5.Sudachiプラグイン用の辞書ファイルをダウンロード・展開
https://github.com/WorksApplications/SudachiDict (Sudachiプラグイン用の辞書ファイル・英語)からリンクを辿って最新版の辞書を取ってきます。
wget http://sudachi.s3-website-ap-northeast-1.amazonaws.com/sudachidict/sudachi-dictionary-latest-core.zi...
sudo apt install unzip
unzip sudachi-dictionary-latest-core.zip
mkdir /etc/elasticsearch/sudachi/
cp sudachi-dictionary-latest-core/system_core.dic /etc/elasticsearch/sudachi/system_core.dic
辞書までインストールできたら、追加で/etc/elasticsearch/sudachi/config.jsonに下記を記述して保存します。
{
"systemDict": "system_core.dic"
}
念のためにElasticsearchを再起動しました。
sudo systemctl restart elasticsearch
6.kmyblueの再起動と設定
この辺りはkmyblue公式wikiの手順通りです。
sudo systemctl restart mastodon-*
sudo su - mastodon
cd live
ln -s config/elasticsearch.default-ja-sudachi.yml .elasticsearch.yml
念のためにもう一度Mastodonの再起動後、いよいよ満を持して
RAILS_ENV=production bin/tootctl search deploy
7.未知の領域・Elasticsearchをアプデするときは
取り敢えず https://blog.noellabo.jp/entry/2019/04/19/YNUL9UsohRgNKSya (『ElasticsearchをMastodonとは別のサーバに設置する』Fedibird管理人のえるさんによる2019年の忘備録)を読むのが安定でしょう。
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-sudachi
sudo apt-mark unhold elasticsearch
sudo apt install elasticsearch
sudo apt-mark hold elasticsearch
wget https://github.com/WorksApplications/elasticsearch-sudachi/releases/download/次のバージョンの数値/analysis-sudachi-elasticsearch7.何かしらの数字-次のバージョンの数値.zip←バージョンにより数字は変わります
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///home/(ユーザー名)/analysis-sudachi-elasticsearch7.何かしらの数字-次のバージョンの数値.zip←同上
sudo systemctl restart elasticsearch
畳む
気が付いたら3時間ほど格闘していたので、今後の為に忘備録を!忘れる前に!!
それなりに文章が長くなるかもしれないので、畳んでおきます。
#わーさんがやってみた
参考サイト・公式系
https://github.com/kmycode/mastodon/wiki/ElasticSearch%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95 (kmyblue公式wiki)
https://docs.joinmastodon.org/admin/elasticsearch/ (Mastodonのドキュメントサイト・英語)
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/install-elasticsearch.html (Elasticsearchのドキュメントサイト・英語)
https://github.com/WorksApplications/elasticsearch-sudachi (Sudachiプラグインを置いてある場所・英語)
https://github.com/WorksApplications/elasticsearch-sudachi/releases (実際に使用中のElasticsearchに対応したSudachiプラグインを探す先・英語)
https://github.com/WorksApplications/SudachiDict (Sudachiプラグイン用の辞書ファイル・英語)
参考サイト・忘備録系
https://blog.noellabo.jp/entry/2019/04/19/YNUL9UsohRgNKSya (『ElasticsearchをMastodonとは別のサーバに設置する』Fedibird管理人のえるさんによる2019年の忘備録)
https://github.com/felx/mastodon-documentation/blob/master/Running-Mastodon/Elasticsearch-guide.md (2018年の英語記事)
https://www.geekfeed.co.jp/amazonlinux2-elasticsearch7-sudachi#elasticsearch-sudachi (『AmazonLinux2にelasticsearch7と日本語の形態素解析器「Sudachi」プラグインをインストール』2020年の記事)
実際に行った作業手順
0.下調べした結果、別サーバーへの設置を諦める
主にVPS同士の通信面への知識不足と、VPSの必要スペックがよく分からなかったことなどから、断念。
1.Elasticsearchの推奨スペックを求めて唸る
普通に検索すると、64GBの物理メモリを準備して半分を割り当て云々……みたいなのが引っかかってきたり、ストレージの必要量もよく分からなかったりしたので、取り敢えず自鯖(RAM 4GB)のメモリ使用量が半分くらいなのを確認の上で、メモリ1GBを割り当てることにしました。
どうやら、MastodonでのElasticsearchは1GBで止まることあり、2GBあれば普通に動くけれど4GBが安定?という話があるようです(風の噂)
のちに、のえるさんから、FedibirdのElasticsearchはRAM 4GBのVPSを3台使っているとの情報を得られました。
2.Elasticsearchをインストールする
基本的にkmyblue公式wikiとMastodonやElasticsearchのドキュメントを見ながら進めていく感じです。
2024年5月現在、Mastodonはバージョン7のElasticsearchを使用すること前提なので、バージョン7.17のElasticsearchを入れます。
非DockerのUbuntuの場合、以下のような感じです。
sudo apt install openjdk-17-jre-headless
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install elasticsearch
systemctl daemon-reload
systemctl enable --now elasticsearch
sudo apt-mark hold elasticsearch
最後の行はSudachiプラグインを使用する際に必要です。
というのも、Sudachiプラグインは厳密にElasticsearchのバージョンに依存するので、勝手にアプデされると使えなくなってしまうからです。
なお、/etc/elasticsearch/jvm.optionsを編集することで、割り当てるメモリを定義することができるようです。
詳細な設定方法は https://github.com/felx/mastodon-documentation/blob/master/Running-Mastodon/Elasticsearch-guide.md (2018年の英語記事)の中ほどにありますが、今回は1GBだけ割り振りたかったので、以下を設定しました。
-Xms256m
-Xmx256m
なお、設定後はElasticsearchの再起動が必要です。
3.Mastodonの設定ファイルを書き換える
これに関してはMastodonのドキュメントサイト・英語の通りですね。
.env.productionに最低限これだけでも書き足します。
ES_ENABLED=true
ES_HOST=localhost
ES_PORT=9200
なお、まだMastodonの再起動は行いません。
4.Sudachiプラグインを導入する
https://github.com/WorksApplications/elasticsearch-sudachi/releases (実際に使用中のElasticsearchに対応したSudachiプラグインを探す先・英語)から、Elasticsearch 7.17.何かしらの数字に対応した最新版のSudachiプラグインのアドレスを取ってきて、/etc/elasticsearch/に導入します。
wget https://github.com/WorksApplications/elasticsearch-sudachi/releases/download/v3.1.1/elasticsearch-7....
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///home/(ユーザー名)/elasticsearch-7.17.21-analysis-sudachi-3.1.1.zip
無事にインストールできたかの確認は、以下のコマンドで。
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list
5.Sudachiプラグイン用の辞書ファイルをダウンロード・展開
https://github.com/WorksApplications/SudachiDict (Sudachiプラグイン用の辞書ファイル・英語)からリンクを辿って最新版の辞書を取ってきます。
wget http://sudachi.s3-website-ap-northeast-1.amazonaws.com/sudachidict/sudachi-dictionary-latest-core.zi...
sudo apt install unzip
unzip sudachi-dictionary-latest-core.zip
mkdir /etc/elasticsearch/sudachi/
cp sudachi-dictionary-latest-core/system_core.dic /etc/elasticsearch/sudachi/system_core.dic
辞書までインストールできたら、追加で/etc/elasticsearch/sudachi/config.jsonに下記を記述して保存します。
{
"systemDict": "system_core.dic"
}
念のためにElasticsearchを再起動しました。
sudo systemctl restart elasticsearch
6.kmyblueの再起動と設定
この辺りはkmyblue公式wikiの手順通りです。
sudo systemctl restart mastodon-*
sudo su - mastodon
cd live
ln -s config/elasticsearch.default-ja-sudachi.yml .elasticsearch.yml
念のためにもう一度Mastodonの再起動後、いよいよ満を持して
RAILS_ENV=production bin/tootctl search deploy
7.未知の領域・Elasticsearchをアプデするときは
取り敢えず https://blog.noellabo.jp/entry/2019/04/19/YNUL9UsohRgNKSya (『ElasticsearchをMastodonとは別のサーバに設置する』Fedibird管理人のえるさんによる2019年の忘備録)を読むのが安定でしょう。
- elasticsearchのプラグインはバージョンチェックが厳密で、本体のバージョンと完全一致したものを使う必要があり、毎回削除して入れ直しが必要
- なので、本体だけうっかりアップデートすると死ぬので、普段はapt-markでholdしておくこと
- https://github.com/WorksApplications/elasticsearch-sudachi/releases からanalysis-sudachiの最新リリースをチェックし、対応版がでてから切り替えるのが吉
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-sudachi
sudo apt-mark unhold elasticsearch
sudo apt install elasticsearch
sudo apt-mark hold elasticsearch
wget https://github.com/WorksApplications/elasticsearch-sudachi/releases/download/次のバージョンの数値/analysis-sudachi-elasticsearch7.何かしらの数字-次のバージョンの数値.zip←バージョンにより数字は変わります
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///home/(ユーザー名)/analysis-sudachi-elasticsearch7.何かしらの数字-次のバージョンの数値.zip←同上
sudo systemctl restart elasticsearch
畳む
SNS共有ボタン群およびリンク集への追加
MaMiShareさんを利用して、トップページと当チラシ裏に各種SNSなどへの共有ボタン群を設置してみました。
チラシ裏で個別の記事にリンクを貼りたい場合は、記事の日付から個別記事に飛んだ上で共有ボタンを利用すると便利です。
MaMiShareさんについては、リンク集にもリンクを作成しました。
#わーさんがやってみた
MaMiShareさんを利用して、トップページと当チラシ裏に各種SNSなどへの共有ボタン群を設置してみました。
チラシ裏で個別の記事にリンクを貼りたい場合は、記事の日付から個別記事に飛んだ上で共有ボタンを利用すると便利です。
MaMiShareさんについては、リンク集にもリンクを作成しました。
#わーさんがやってみた
kmyblue引っ越してみたメモ
例によって長いので、畳みます。
後ほど、先達さんも記事を上げてくれるらしいです、楽しみ。
#わーさんがやってみた
kmyblueサーバー移行 やったこと
* 新鯖にkmyblueを新規インストール(参照0)して、mastodon:setup開始直前まで進める(mastodon:setupは行わない、データベースユーザーmastodonのパスワードは念のため旧鯖にそろえる)
* 旧鯖止める(参照1)
* .env.productionを移行(live下隠しファイル)
* バックアップするべき容量を減らす(参照2)
* Postgresのダンプとロードを行う(参照3)
* 旧鯖のローカルファイルを圧縮、新鯖に持って行って解凍(参照4)
* RAILS_ENV=production bundle exec rails assets:precompile を実行し、Mastodon をコンパイル
* 各ユーザーのホームタイムラインを再構築するために RAILS_ENV=production ./bin/tootctl feeds build を実行(しなかったので、タイムライン消えまくりw)
* 新しいサーバーでマストドンを起動
* DNS 設定を更新
* Nginxの設定を更新またはコピーし、必要に応じてLetsEncryptを再実行(参照0に則って新規設定し直ししたが、参照5を試しても良かった)
参照0
https://github.com/kmycode/mastodon/wiki/Installation
参照1
sudo systemctl stop mastodon-{web,sidekiq,streaming}
参照2
# どのファイルが容量を食っているのか算出
RAILS_ENV=production bundle exec bin/tootctl media usage
# 過去の投稿を削除。日数は適宜調整
RAILS_ENV=production bundle exec bin/tootctl status remove --days=90
# プレビューカードを削除。日数は適宜調整
RAILS_ENV=production bundle exec bin/tootctl preview_cards remove --days=180
# リモートメディアを削除
RAILS_ENV=production bundle exec bin/tootctl media remove --days=0
# 孤立メディアを削除
RAILS_ENV=production bundle exec bin/tootctl media remove-orphans
参照3
mastodon:setup を実行する代わりに、template0 データベースを使用して空の Postgres データベースを作成 。
(これは Postgres のダンプをリストアするときに便利だそう。pg_dump のドキュメントに記載)
古いシステムの mastodon ユーザーで以下を実行。
pg_dump -Fc mastodon_production -f backup.dump
rsync または scp を使って backup.dump ファイルをコピー。
次に、新しいシステムで mastodon ユーザで空のデータベースを作成。
createdb -T template0 mastodon_production
そして、コピーしたバックアップをインポート。
(念のため、旧鯖と同じ位置にインポート、ユーザー権限やパーミッションもそろえておく)
chown --recursive mastodon: /home/mastodon/backup.dump
chmod 664 /home/mastodon/backup.dump
pg_restore -Fc -U mastodon -n public --no-owner --role=mastodon \
-d mastodon_production backup.dump
(新しいサーバでユーザ名が mastodon でない場合、上記の -U と --role の値を変更する必要があることに注意。なお、2つのサーバ間でユーザ名が異なっていても問題ない模様)
参照4
旧鯖にて
tar czf systemfiles.tar.gz /home/mastodon/live/public/system
これが作業ユーザーに入ったら新鯖に持っていく
解凍は(必要に応じてsudo入れつつ)
tar -xvf systemfiles.tar.gz
すると作業ユーザーの下に新たにhomeから増えたので、以下で持っていく(指定なければ作業ディレクトリ内の解凍らしいので、移動前パスは適宜探してください)
sudo mv /home/(ユーザ名)/home/mastodon/live/public/system /home/mastodon/live/public/.
参照5
Let's Encrypt SSL証明書の再発行
移行先サーバにて、 Let's Encrypt SSL証明書の再発行を行う。
sudo certbot certonly --standalone -d yourdomain.tld
(SSL証明書そのものをコピーしてこればいい説もあるが。。。)
Nginx の起動
↓ 一般ユーザ作業
# SSL証明書が正しく取得・インストールされていれば、問題なく立ち上がる
sudo systemctl start nginx
sudo systemctl start mastodon-{web,sidekiq,streaming}
参考サイト
https://github.com/kmycode/mastodon/wiki/Installation
https://dolphilia.com/translation/mastodon/running/migrating
https://qiita.com/neustrashimy/items/520838806e4524b229b9
後で発見したサイト
https://www.nan1.casa/blog/2023-06-12-backup-mastodon/
畳む
例によって長いので、畳みます。
後ほど、先達さんも記事を上げてくれるらしいです、楽しみ。
#わーさんがやってみた
kmyblueサーバー移行 やったこと
* 新鯖にkmyblueを新規インストール(参照0)して、mastodon:setup開始直前まで進める(mastodon:setupは行わない、データベースユーザーmastodonのパスワードは念のため旧鯖にそろえる)
* 旧鯖止める(参照1)
* .env.productionを移行(live下隠しファイル)
* バックアップするべき容量を減らす(参照2)
* Postgresのダンプとロードを行う(参照3)
* 旧鯖のローカルファイルを圧縮、新鯖に持って行って解凍(参照4)
* RAILS_ENV=production bundle exec rails assets:precompile を実行し、Mastodon をコンパイル
* 各ユーザーのホームタイムラインを再構築するために RAILS_ENV=production ./bin/tootctl feeds build を実行(しなかったので、タイムライン消えまくりw)
* 新しいサーバーでマストドンを起動
* DNS 設定を更新
* Nginxの設定を更新またはコピーし、必要に応じてLetsEncryptを再実行(参照0に則って新規設定し直ししたが、参照5を試しても良かった)
参照0
https://github.com/kmycode/mastodon/wiki/Installation
参照1
sudo systemctl stop mastodon-{web,sidekiq,streaming}
参照2
# どのファイルが容量を食っているのか算出
RAILS_ENV=production bundle exec bin/tootctl media usage
# 過去の投稿を削除。日数は適宜調整
RAILS_ENV=production bundle exec bin/tootctl status remove --days=90
# プレビューカードを削除。日数は適宜調整
RAILS_ENV=production bundle exec bin/tootctl preview_cards remove --days=180
# リモートメディアを削除
RAILS_ENV=production bundle exec bin/tootctl media remove --days=0
# 孤立メディアを削除
RAILS_ENV=production bundle exec bin/tootctl media remove-orphans
参照3
mastodon:setup を実行する代わりに、template0 データベースを使用して空の Postgres データベースを作成 。
(これは Postgres のダンプをリストアするときに便利だそう。pg_dump のドキュメントに記載)
古いシステムの mastodon ユーザーで以下を実行。
pg_dump -Fc mastodon_production -f backup.dump
rsync または scp を使って backup.dump ファイルをコピー。
次に、新しいシステムで mastodon ユーザで空のデータベースを作成。
createdb -T template0 mastodon_production
そして、コピーしたバックアップをインポート。
(念のため、旧鯖と同じ位置にインポート、ユーザー権限やパーミッションもそろえておく)
chown --recursive mastodon: /home/mastodon/backup.dump
chmod 664 /home/mastodon/backup.dump
pg_restore -Fc -U mastodon -n public --no-owner --role=mastodon \
-d mastodon_production backup.dump
(新しいサーバでユーザ名が mastodon でない場合、上記の -U と --role の値を変更する必要があることに注意。なお、2つのサーバ間でユーザ名が異なっていても問題ない模様)
参照4
旧鯖にて
tar czf systemfiles.tar.gz /home/mastodon/live/public/system
これが作業ユーザーに入ったら新鯖に持っていく
解凍は(必要に応じてsudo入れつつ)
tar -xvf systemfiles.tar.gz
すると作業ユーザーの下に新たにhomeから増えたので、以下で持っていく(指定なければ作業ディレクトリ内の解凍らしいので、移動前パスは適宜探してください)
sudo mv /home/(ユーザ名)/home/mastodon/live/public/system /home/mastodon/live/public/.
参照5
Let's Encrypt SSL証明書の再発行
移行先サーバにて、 Let's Encrypt SSL証明書の再発行を行う。
sudo certbot certonly --standalone -d yourdomain.tld
(SSL証明書そのものをコピーしてこればいい説もあるが。。。)
Nginx の起動
↓ 一般ユーザ作業
# SSL証明書が正しく取得・インストールされていれば、問題なく立ち上がる
sudo systemctl start nginx
sudo systemctl start mastodon-{web,sidekiq,streaming}
参考サイト
https://github.com/kmycode/mastodon/wiki/Installation
https://dolphilia.com/translation/mastodon/running/migrating
https://qiita.com/neustrashimy/items/520838806e4524b229b9
後で発見したサイト
https://www.nan1.casa/blog/2023-06-12-backup-mastodon/
畳む


