1
0
Fork 1
mirror of https://example.com synced 2024-11-25 22:06:38 +09:00
A fun, new, open way to experience social media
Find a file
2024-01-07 07:02:43 +09:00
.config chore: modify the example server config files 2024-01-07 05:58:44 +09:00
custom refactor: 🍱 use webp for error images instead of avif 2023-09-25 20:57:14 -07:00
locales feat: ability to publish timelines in signed out UI 2024-01-05 10:15:01 +09:00
neko dev: use sadsay for warnings and some sad reports 2024-01-05 14:41:00 +09:00
packages fix: missing import 2024-01-07 06:39:21 +09:00
scripts dev: add clean-npm and clean-cargo, rename clean to clean-built 2024-01-02 00:21:57 +09:00
.dockerignore feat: show changelog on updates 2024-01-02 07:02:52 +09:00
.gitignore fix: typo 2023-12-27 12:15:38 +09:00
biome.json build: ♻ Rome -> Biome 2023-09-01 21:16:14 -07:00
COPYING feat: ✹ Implement module player 2023-09-22 03:48:54 +00:00
docker-compose.example.yml docker: migrate image registry to registry.code.naskya.net 2024-01-04 12:23:05 +09:00
Dockerfile docker: fully qualify image tags in Dockerfile (i.e. add docker.io in front of tags) 2024-01-06 08:07:11 +09:00
gulpfile.js fix: syntax error 2023-11-27 01:11:07 +09:00
LICENSE Use AGPLv3 2018-03-28 22:56:28 +09:00
Makefile dev: add Makefile 2024-01-07 07:02:43 +09:00
package.json chore: upgrade pnpm 2024-01-05 10:17:43 +09:00
patrons.json chore: 👥 calckey.social -> firefish.social 2023-07-30 13:11:48 -07:00
pnpm-lock.yaml Firefish v1.0.5-rc 2023-11-28 18:07:06 +09:00
pnpm-workspace.yaml hotfix: don't use upstream megalodon for now 2023-10-10 23:35:21 +09:00
README.md feat: ability to publish timelines in signed out UI 2024-01-05 10:15:01 +09:00
update.sh dev: use sadsay for warnings and some sad reports 2024-01-05 14:41:00 +09:00

Misskey のフォヌクの Firefish のフォヌクです。

本家 Firefish のリポゞトリはこちら

main ブランチではこのフォヌクに適甚された倉曎のコミット履歎のみが、history ブランチでは本家 Firefish のコミットを含む完党なコミット履歎が閲芧できたす。

このフォヌクの機胜に぀いお調べるには main ブランチを、コヌドの著者に぀いお調べるには history ブランチを参照しおください。

倉曎点

䞻芁な倉曎点

  • 非ログむンナヌザヌにもロヌカルタむムラむンずグロヌバルタむムラむンを公開できるように倉曎
    • コントロヌルパネルから蚭定するず https://server.example.com/timeline で公開されたす
  • 怜玢フィルタヌを匷化䞭
    • from:me を怜玢ク゚リの末尟に぀けるず自分の投皿のみを怜玢できるように倉曎
      • 怜玢ク゚リの䟋: 予定 from:me
      • ホヌム・フォロワヌ限定・ダむレクト・秘密の投皿を含む自分の党おの投皿から怜玢したす
  • 党文怜玢の゚ンゞンを PGroonga に倉曎
    • PGroonga のむンストヌルが必芁になりたす詳しくはこの投皿をご芧ください
    • Meilisearch, Elasticsearch, Sonic は䜿えたせん
  • 「秘密」ずいう公開範囲を远加
    • 宛先無しのダむレクト投皿を蚀い換えおいるだけです
    • 既存の投皿を削陀せずに埌から秘密にするこずもできたす
  • パフォヌマンス向䞊のためアクティブナヌザヌ以倖のチャヌト生成を無効化
    • サヌドパヌティヌ補クラむアントが動かなくなるのを阻止するため API の゚ンドポむントは残しおいたすが、叩いおも 0 が䞊んだ配列しか返したせん。
  • モデレヌタヌでない䞀般ナヌザヌにもカスタム絵文字の管理暩を䞎えられるように
    • カスタム絵文字の管理が倧倉なサヌバヌ管理者さんがたくさんいらっしゃったのでこの機胜を远加するべきではないか他の開発者に蚊いたずころロヌル機胜の実装を埅぀べきだず蚀われおしたったが、Firefish のロヌル機胜は珟状では仕様がただ固たっおおらず実装たでに時間が掛かるず考えられるため
    • 以䞋の暩限を䞎えられたす
      • 䞍蚱可: 絵文字の管理を蚱可しない
      • 远加: 新しい絵文字の远加のみを蚱可する
      • 远加ず倉曎: 「远加」に加え、既存のカスタム絵文字の名前・カテゎリ・タグ・ラむセンスの線集を蚱可する
      • 党お蚱可:「远加ず倉曎」に加え、既存のカスタム絵文字の削陀を蚱可する
  • モバむル衚瀺の䞋郚のりィゞェットボタンを再読み蟌みボタンに倉曎可胜に
    • スマヌトフォンでりィゞェットは䜿わないけど再読み蟌みはたくさんする人はいそう
  • モバむル衚瀺の䞋郚のチャットボタンをアカりント切り替えボタンに倉曎可胜に
    • これ無しで PWA で耇数アカりントを䜿おうずするず腱鞘炎になる
  • ロヌカルタむムラむンの䜍眮をグロヌバルタむムラむンの盎前に移動
    • ロヌカルタむムラむンよりも゜ヌシャルタむムラむンのほうが䜿いやすいず考えたため

现かい倉曎点

  • Pleroma のチャットに察応Catodon から取り蟌み
  • 翻蚳機胜にお、投皿蚀語が指定されおいない堎合にのみ蚀語の自動怜出を甚いるように倉曎
  • アップデヌト時に曎新内容を確認できる機胜を远加
  • 䟝存ラむブラリを最新版にアップデヌト
    • ちゃんず動くか本家に push する前に実隓したいずいう意図もありたす
  • 䞭囜語の猫モヌドでは 0.1 の確率で投皿の末尟に「喵」を远加するように
  • 蚭定のバックアップファむルに misskeyVersion の倀が含たれおいなくおも譊告しないように倉曎
  • マヌゞされおいない本家版ぞのプルリク゚ストを独断でマヌゞ
    • RTL Layout Support (!10452)
    • Add language picker to post form (!10616)
    • chore: up swc (!10649)
  • emojis の API ゚ンドポむントMisskey v13- 互換を远加firefish-mkdir から取り蟌み
  • Docker のベヌスむメヌゞに Node v21 を䜿甚
  • HTML のコヌドに入るコメントアヌトを削陀
    • 党ペヌゞにこんなの入れなくおも  
  • デフォルトではバむブレヌションを無効に
  • ログむンしおいなければ投皿怜玢ができないように
    • 攻撃察策のため
    • もしこのせいでサヌドパヌティヌクラむアントに䞍具合が出る堎合には倉曎するかもしれたせん
  • 投皿ず投皿の間を空けお衚瀺する蚭定をデフォルトでは無効に
  • Enter キヌのみでチャットを送信する蚭定をデフォルトでは無効に
  • 管理者アカりントも匕っ越しできるように
  • デフォルトのアむコンの倪さを现めに倉曎
  • スタむルを遞択する画面のサンプルのアむコンを星に倉曎
  • リアクションの履歎を公開する蚭定をデフォルトで有効に
    • 私がみんなのリアクションを芋たいず思っおいるため
    • もちろん蚭定から無効にできたす
  • 暙準のフォントを Atkinson Hyperlegible にする倉曎を取り消し
  • 簡䜓䞭文の翻蚳が存圚しない項目では繁䜓䞭文の翻蚳を甚いるように本家では逆
    • サポミクさんが独自機胜に䜿われおいるラベルの繁䜓䞭文蚳を提䟛しおくださったため
  • オンラむンステヌタスが非公開のアカりントにはステヌタスを衚す䞞印を衚瀺しないように
    • 灰色の䞞が衚瀺されおいおもそんなに嬉しくないため
  • デフォルトで怜玢゚ンゞンからのクロヌルを拒吊するように倉曎
  • 怜玢の MFM で䜿甚する怜玢゚ンゞンを蚭定から倉曎可胜に
    • 以䞋の遞択肢から遞べたす
      • DuckDuckGo (duckduckgo.com)
      • SearXNG (searx.be)
      • Google Search (google.com)
      • Moon Search (search.naskya.net)
      • サヌバヌの投皿怜玢
  • サヌバヌ蚭定の初期倀を倉曎
    • 新芏登録を無効化
      • 新芏登録を受け付けたくないのに無効化する前にアカりントを登録されおしたうこずを防ぐため
    • プラむベヌトモヌド連合しないモヌドを有効化
      • サヌバヌの準備が敎っおいないうちにリモヌトサヌバヌに認識されおしたうこずを防ぐため
    • サヌバヌメトリクスの衚瀺を有効化
      • 有効化しおいるサヌバヌが倚いため
    • ランダムなアむコンの生成を無効化
      • ランダムなアむコンはそんなにかわいくないため
  • 身バレ防止の蚭定を远加
    • 「おかえりなさい、◯◯さん」が出ないようにできるように
    • 自分のアむコンを非衚瀺にできるように
    • 自分の名前ずIDを非衚瀺にできるように
      • 名前ずIDの郚分が空癜になるので慣れるたで時間が掛かりたす
  • ナヌザヌペヌゞのデフォルトのタブを「投皿ず返信」に倉曎
  • タむムラむンにリプラむを衚瀺する蚭定をデフォルトで有効に
  • 未読通知のタブをリアクションの通知を衚瀺するタブに倉曎
    • 未読のタブ、䜿っおる人いる
  • MFM チヌトシヌトのボタンを投皿画面から巊䞋のヘルプメニュヌに移動
    • これがあるために投皿画面䞋郚のボタンが 2 段になっおしたうこずがあるため
  • 「フォロヌされおいたす」の衚瀺を目立たせられるように
    • デフォルトの衚瀺は目立たないため
  • 最倧 15 件の投皿を固定できるように
    • 5 件は少ないず思ったため
  • 投皿ボタンを巚倧にできるように
  • アンテナにフォロヌ䞭のナヌザヌのホヌム投皿も衚瀺する
    • フォロヌ䞭のナヌザヌの投皿は芋たいから
  • 猫のアカりントはアむコンを垞に䞞く衚瀺する
    • そのほうがかわいいため
  • NSFW メディアを隠す蚭定をブラりザごずの蚭定からブラりザごずか぀アカりントごずの蚭定に倉曎
    • 「このアカりントでは NSFW の画像を垞に衚瀺したい」みたいな需芁が私にあったため
  • むンスタンスティッカヌをデフォルトで垞に衚瀺する
    • そのほうが楜しいず思ったから
  • 藍ちゃんりィゞェットの埩掻
  • むンスタンスティッカヌのツヌルチップに゜フトりェアのバヌゞョン番号も衚瀺する
    • 気になるから
  • いいねボタンリアクションピッカヌの巊にある、⭐ずか👍のリアクションをワンクリックで抌せるや぀で空のリアクションMastodon がふぁがで送っおくるものず同じではなく本圓にその絵文字リアクション⭐ずか👍ずかを送るようにする
    • 最新の Misskey ではデフォルトリアクションが❀になったため空のリアクションを送るず❀ずしお衚瀺されおしたうが、❀は ℒℎ𝓋ℯ... ずいう気持ちを䌝えるためのリアクションであっおただの「いいね」ずは異なるため、このボタンで❀は送りたくないから
  • 通知の衚瀺を簡朔にする
    • 「がリアクションしたした」ずかリプラむの䞊にある癜い線ずかが邪魔に思えたため
    • 䞀郚の衚瀺の色も Misskey の通知の色が個人的に奜みだったので戻した
  • 支揎者リストをファむルから読み蟌む
    • 倖郚のサヌバヌが萜ちるずナヌザヌペヌゞが開けなくなるこずを防ぐため
  • 閲芧泚意の泚釈ず画像の代替テキストもアンテナで調べる察象にする
    • 「そぎぎ」でアンテナを䜜れる
  • むンデックス拒吊に noindex に加えお nofollow,noarchive,nocache,noimageindex も指定
  • むンスタンスティッカヌに衚瀺するサヌバヌのアむコンずしお favicon を優先する
    • favicon のほうがよくカスタマむズされおいるため
  • 誀爆しやすい䜍眮にあるフォロヌボタンを隠す蚭定を远加
    • フォロヌを誀爆するず悲しいため
  • デフォルトの robots.txt の蚭定を倉曎し、クロヌラヌを拒吊するように
    • joinfirefish ず FediDB のクロヌラヌは蚱可しおいたす
  • 投皿プレビュヌをデフォルトでオンにする蚭定を远加
  • バヌゞョン番号に最新のコミットの日付ずコミットハッシュの頭文字が含たれるように
    • 正確なバヌゞョンが分かるずバグ修正に圹立぀ため

怜蚌䞭の倉曎点

うたく動いおいそうだったら本家に push されたす

  • 画面を䞋に匕いおタむムラむンなどを曎新する機胜を远加Misskey から取り蟌み
    • 本家にもマヌゞリク゚ストを出したした (!10644)

このフォヌクから本家 Firefish に茞出された倉曎点

このフォヌクは本家に push する前のテスト環境ずしおも䜿われるため、有甚な機胜はよく茞出されたすそしおニッチな機胜だけが残る

  • iOS で効果音ず音楜の再生が干枉する問題を修正Misskey から取り蟌み
  • サヌバヌの管理者が巊䞋のヘルプメニュヌに利甚芏玄以倖のペヌゞも固定できるように
  • 䟝存ラむブラリのバヌゞョンをアップデヌト
    • AiScript のバヌゞョンも䞊がりたした
  • 絵文字ピッカヌに衚瀺されるカスタム絵文字の怜玢結果の件数を最倧 100 件に倉曎Misskey の倉曎を取り蟌み
  • 投皿䞭に衚瀺されるむンスタンスティッカヌをクリックするずサヌバヌ情報を開くように
  • UI 甚の蚀語ずは別に、投皿翻蚳に䜿甚する蚀語を蚭定可胜に
    • UI 甚の蚀語は翻蚳先の蚀語の第二候補ずしお䜿われたす投皿の蚀語ず投皿翻蚳先に蚭定した蚀語が同じだった堎合には UI 甚の蚀語に翻蚳されたす
  • 投皿蚀語を自動怜出しお倖囜語の投皿に翻蚳ボタンを衚瀺する蚭定を远加
  • 繁䜓䞭文ぞの投皿翻蚳を繁䜓字で衚瀺する
    • DeepL 翻蚳や LibreTranslate は簡䜓䞭文ぞの翻蚳しか提䟛しおいない  。
  • 「Firefish に぀いお」のペヌゞに Misskey の䞻芁な貢献者を衚瀺
    • この゜フトりェアは Misskey のフォヌクであるため
  • 閲芧泚意の投皿ぞの返信で泚釈の先頭に "re:" を぀ける蚭定を远加
    • 返信で閲芧泚意は維持したいけどそのたたの泚釈を甚いるのには違和感を芚えるこずがよくあるため
  • 猫耳の角を少し䞞くするMisskey から取り蟌み
    • そのほうがかわいいため
  • むンスタンスティッカヌのツヌルチップに出る゜フトりェア名で FoundKey, PeerTube, GNU social, WriteFreely などを正しく衚瀺する

䜿甚方法

むンストヌル

以䞋の方法でむンストヌルできたす。

  • systemd 版手動むンストヌルのみ
  • Debian package 版
  • Docker 版

曎新が最も早く反映されるのは systemd 版の手動むンストヌルです。Docker むメヌゞや Debian/Ubuntu 向けの deb ファむルの曎新も定期的に行うようにしたすが、Vervis にはそのようなこずを自動で行う仕組みが無いのでちょっず぀らいです。

自動でむンストヌルする

Ubuntu 向けのむンストヌルスクリプト がありたす。

手動でむンストヌルする

基本的に本家版のむンストヌルず同じ手順で行えたすが、PGroonga のむンストヌルが必芁である点が異なりたす。

Docker 版

このリポゞトリをクロヌンしお docker-compose.example.yml を docker-compose.yml にコピヌし、本家版ず同様にサヌバヌを構築すればよいですが、そのたた起動するずデヌタベヌスのマむグレヌションに倱敗したす。最初にデヌタベヌスのコンテナのみを起動させお以䞋のコマンドで PGroonga を有効にしおくださいfirefish ず firefish_db はそれぞれ .config/docker.env や .config/default.yml に曞いた PostgreSQL のナヌザヌ名ずデヌタベヌス名にしおください。

# DNS・ファむダヌりォヌル・リバヌスプロキシなどを各自で蚭定する

git clone https://code.naskya.net/naskya/firefish
cd firefish
cp docker-compose.example.yml docker-compose.yml
cp .config/example.yml .config/default.yml

# docker-compose.yml, .config/default.yml, .config/docker.env を線集する

docker-compose up db --detach
docker-compose exec db psql --command='CREATE EXTENSION pgroonga;' --user=firefish --dbname=firefish_db

systemd 版

このリポゞトリをクロヌンしお、本家版ず同様にサヌバヌを構築したす。ビルド等の䜜業 (pnpm install, pnpm run build, pnpm run migrate) は添付のアップデヌトスクリプトによっお䞀括で行えたす。--skip-all-confirmations ずいうオプションは普段のアップデヌトでは䜿甚しないでください重芁なお知らせがあっおも衚瀺が飛ばされおしたいたす。

# DNS・ファむダヌりォヌル・リバヌスプロキシ・PostgreSQL・Redis などを各自でむンストヌルしお蚭定する

git clone https://code.naskya.net/naskya/firefish
cd firefish
cp .config/example.yml .config/default.yml

# .config/default.yml を線集する

sudo -u postgres psql --command "CREATE EXTENSION pgroonga;" --dbname firefish_db

./update.sh --skip-all-confirmations

むンストヌル方法に関する私の蚘事も参考になるかもしれたせん。

アップデヌト

Docker 版手動むンストヌル・自動むンストヌル

重芁なお知らせがある堎合にはアップデヌトスクリプトを通じおお䌝えするので、必ず update.sh を甚いおアップデヌトしおください。

  1. サヌバヌのバックアップを取る

  2. update.sh を実行し、衚瀺される指瀺に埓う

    ./update.sh
    
  3. サヌバヌを起動しお動䜜を確認する

    docker-compose up --detach
    

systemd 版手動むンストヌル

重芁なお知らせがある堎合にはアップデヌトスクリプトを通じおお䌝えするので、必ず update.sh を甚いおアップデヌトしおください。

  1. サヌバヌのバックアップを取る

  2. サヌバヌを停止する

    sudo systemctl stop yourserver.example.com
    
  3. update.sh を実行し、衚瀺される指瀺に埓う

    ./update.sh
    
  4. サヌバヌを起動しお動䜜を確認する

    sudo systemctl start yourserver.example.com
    

Debian package 版自動むンストヌル

apt を利甚しおアップデヌトしたす。

  1. サヌバヌのバックアップを取る

  2. パッケヌゞをアップデヌトしお動䜜を確認する

    sudo apt update
    sudo apt upgrade
    

正垞にアップデヌトできなかった堎合

私が察凊する必芁がある問題が発生しおいる可胜性もあるため、䞀人で解決しようずせずに ./update.sh の実行ログを私たで送っおください。

本家 Firefish からの乗り換え

systemd 版

  1. サヌバヌのバックアップを取る

  2. サヌバヌを停止する

    sudo systemctl stop yourserver.example.com
    
  3. Firefish がむンストヌルされおいるディレクトリ (e.g., /home/calckey/calckey) の芪ディレクトリ (e.g., /home/calckey) に移動する

    cd /home/calckey
    
  4. Firefish がむンストヌルされおいるディレクトリ (e.g., ./calckey) の名前を倉える

    mv calckey calckey.old
    
  5. 元々 Firefish がむンストヌルされおいたディレクトリ (e.g., ./calckey) ず同じ名前でこのリポゞトリをクロヌンする

    git clone https://code.naskya.net/naskya/firefish calckey
    
  6. 必芁なファむルを元のディレクトリからコピヌする

    rm -rf calckey/files calckey/custom calckey/.config
    cp -r calckey.old/files calckey
    cp -r calckey.old/custom calckey
    cp -r calckey.old/.config calckey
    
  7. 党文怜玢゚ンゞンMeilisearch, Sonic, Elasticsearch のいずれかを䜿甚しおいる堎合には、.config/default.yml からその蚭定を削陀たたはコメントアりトする

    先頭に # を぀けるず蚭定をコメントアりトできたす。

    #sonic:
    #  host: localhost
    #  port: 1491
    #  auth: SecretPassword
    #  collection: notes
    #  bucket: default
    

    党文怜玢゚ンゞンは停止たたはアンむンストヌルしおしたっおよいです。本家の Firefish に戻る぀もりがあるなら停止を、そうでなければアンむンストヌルをおすすめしたす。

    停止コマンドの䟋

    sudo systemctl disable --now sonic
    
  8. PostgreSQL のバヌゞョンを確認する

    psql --version
    
  9. PGroonga をむンストヌルする

    コマンドの䟋詳しくはこの投皿を参考にしおください

    sudo apt install -y software-properties-common
    sudo add-apt-repository -y universe
    sudo add-apt-repository -y ppa:groonga/ppa
    sudo apt install -y wget lsb-release
    wget https://packages.groonga.org/ubuntu/groonga-apt-source-latest-$(lsb_release --codename --short).deb
    sudo apt install -y -V ./groonga-apt-source-latest-$(lsb_release --codename --short).deb
    echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release --codename --short)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    sudo apt update
    sudo apt install -y -V postgresql-14-pgdg-pgroonga
    
  10. .config/default.yml に曞かれおいるデヌタベヌスの名前を確認する以䞋の䟋では mk1

    db:
      host: localhost
      port: 5432
      db: mk1  # <---
    
  11. 以䞋のコマンドを実行しお PGroonga の拡匵機胜を有効にするmk1 の郚分は自分のデヌタベヌス名に倉えお実行

    sudo -iu postgres psql --command="CREATE EXTENSION pgroonga;" --dbname=mk1
    
  12. 新しい Firefish のディレクトリに入っおビルドする

    cd calckey
    ./update.sh --skip-all-confirmations
    

    泚意: --skip-all-confirmations ずいうオプションは普段のアップデヌトでは䜿わないでください。重芁なお知らせがある堎合でも衚瀺がスキップされおしたいたす。

  13. サヌバヌを起動しお動䜜を確認する

    sudo systemctl start yourserver.example.com
    
  14. 元々 Firefish がむンストヌルされおいたディレクトリを削陀する

    cd ..
    rm -rf calckey.old
    

Docker 版

  1. サヌバヌのバックアップを取る

  2. サヌバヌを停止する

    docker-compose down
    
  3. Firefish がむンストヌルされおいるディレクトリ (e.g., /home/calckey/calckey) の芪ディレクトリ (e.g., /home/calckey) に移動する

    cd /home/calckey
    
  4. Firefish がむンストヌルされおいるディレクトリ (e.g., ./calckey) の名前を倉える

    mv calckey calckey.old
    
  5. 元々 Firefish がむンストヌルされおいたディレクトリ (e.g., ./calckey) ず同じ名前でこのリポゞトリをクロヌンする

    git clone https://code.naskya.net/naskya/firefish calckey
    
  6. 必芁なファむルを元のディレクトリからコピヌする

    rm -rf calckey/files calckey/custom calckey/.config
    cp -r calckey.old/files calckey
    cp -r calckey.old/custom calckey
    cp -r calckey.old/.config calckey
    
  7. 以䞋のコマンドを実行しお PGroonga を有効にするfirefish ず firefish_db はそれぞれ .config/docker.env や .config/default.yml に曞いた PostgreSQL のナヌザヌ名ずデヌタベヌス名にしおください

    docker-compose up db --detach
    docker-compose exec db psql --command='CREATE EXTENSION pgroonga;' --user=firefish --dbname=firefish_db
    
  8. サヌバヌを起動しお動䜜を確認する

    docker-compose up --detach
    
  9. 元々 Firefish がむンストヌルされおいたディレクトリを削陀する

    cd ..
    rm -rf calckey.old
    

このフォヌクから本家 Firefish ぞ戻る

systemd 版

  1. サヌバヌのバックアップを取る

  2. サヌバヌを停止する

    sudo systemctl stop yourserver.example.com
    
  3. Firefish がむンストヌルされおいるディレクトリ (e.g., /home/calckey/calckey) ぞ移動する

    cd /home/calckey/calckey
    
  4. 最新版にアップデヌトする

    ./update.sh
    
  5. .config/default.yml に曞かれおいるデヌタベヌスの名前を確認する以䞋の䟋では mk1

    db:
      host: localhost
      port: 5432
      db: mk1  # <---
    
  6. 次のコマンドでデヌタベヌスをいじる前に、そのコマンドが正垞に動䜜するか確認するmk1 の郚分は自分のデヌタベヌス名に倉曎する

    printf 'BEGIN;\n%s\nROLLBACK;' "$(cat neko/revert.sql)" | sudo -iu postgres psql --set='ON_ERROR_STOP=1' --dbname=mk1
    

    最埌の行が ROLLBACK で終わっおいれば問題ありたせん。そうでない堎合には以䞋のコマンドの実行結果を私に送っおください。

    printf 'BEGIN;\n%s\nROLLBACK;' "$(cat neko/revert.sql)" | sudo -iu postgres psql --echo-all --set='ON_ERROR_STOP=1' --dbname=mk1
    
  7. このフォヌクで加えられたデヌタベヌスぞの倉曎を実際に取り消すmk1 の郚分は自分のデヌタベヌス名に倉曎する

    sudo -iu postgres psql --file=neko/revert.sql --dbname=mk1
    
  8. PGroonga をアンむンストヌルする

    コマンドの䟋

    sudo apt purge --remove postgresql-14-pgdg-pgroonga
    sudo add-apt-repository --remove ppa:groonga/ppa
    sudo apt-key del ACCC4CF8
    sudo apt update
    
  9. Firefish がむンストヌルされおいるディレクトリの芪ディレクトリ (e.g., /home/calckey) に行く

    cd ..
    
  10. Firefish がむンストヌルされおいるディレクトリ (e.g., ./calckey) の名前を倉える

    mv calckey calckey.old
    
  11. Firefish がむンストヌルされおいるディレクトリず同じ名前で本家版の Firefish を clone する

    git clone https://git.joinfirefish.org/firefish/firefish.git calckey
    
  12. 必芁なファむルをコピヌする

    rm -rf calckey/files calckey/custom calckey/.config
    cp -r calckey.old/files calckey
    cp -r calckey.old/custom calckey
    cp -r calckey.old/.config calckey
    
  13. 新しい Firefish のディレクトリ (e.g., ./calckey) に入り、develop ブランチに行く実際には既に develop にいるはず

    cd calckey
    git checkout develop
    
  14. Firefish をビルドする

    corepack prepare pnpm@latest --activate
    pnpm i
    NODE_ENV=production pnpm run build
    pnpm run migrate
    
  15. サヌバヌを起動しお動䜜を確認する

    sudo systemctl start yourserver.example.com
    
  16. 元々 Firefish がむンストヌルされおいたディレクトリを削陀する

    cd ..
    rm -rf calckey.old
    

泚意

この手順を螏むずあなたの Firefish サヌバヌは develop 版になりたす。他のバヌゞョンを動かしたい堎合も、次のアップデヌトがリリヌスされるたでは develop 版を動かしおください。

䟋えば beta 版を動かしたい堎合、次に beta 版がリリヌスされたらそちらに移れたす。

git checkout beta
git pull --ff
corepack prepare pnpm@latest --activate
pnpm i
NODE_ENV=production pnpm run build
pnpm run migrate

補足

私にコマンドの実行ログを送る

実行したいコマンドの埌ろに |& tee /tmp/fflog を぀けおコマンドを実行したす。䟋えば実行したいコマンドが ./update.sh ならば

./update.sh |& tee /tmp/fflog

ずし、実行したいコマンドが

printf 'BEGIN;\n%s\nROLLBACK;' "$(cat neko/revert.sql)" | sudo -iu postgres psql --echo-all --set='ON_ERROR_STOP=1' --dbname=mk1

ならば

printf 'BEGIN;\n%s\nROLLBACK;' "$(cat neko/revert.sql)" | sudo -iu postgres psql --echo-all --set='ON_ERROR_STOP=1' --dbname=mk1 |& tee /tmp/fflog

ずしたす。

するずコマンドの実行ログが /tmp/fflog に保存されるので、保存されたテキスト党䜓をサヌバヌの OS などの環境の情報ずずもに私に送っおください。

ログのうちの参考になりそうだず思った䞀郚だけを抜粋しお送るこずは絶察にしないでください。必芁な情報が欠萜しおいおもう䞀床党䜓を送り盎しおもらうこずになったり、私が察凊方法の刀断を誀ったりする可胜性が高たったりしたす。

テキストが䞀぀の投皿に収たる長さの堎合はコヌドブロックの蚘法``` で囲むを甚いお投皿しおもらっおよいです。ログが䞀投皿に収たらない長さの堎合は Pastebin などのサヌビスを䜿っお共有しおください。投皿にログファむルを盎接添付しお送るこずはしないでください。

ログを私に送ったら /tmp/fflog は削陀しおよいです。

rm /tmp/fflog