docs: optimize for Vervis

This commit is contained in:
naskya 2023-11-05 21:01:39 +09:00
parent 290f98ae8b
commit b1a66c89a6
Signed by: naskya
GPG key ID: 164DFF24E2D40139

338
README.md
View file

@ -8,10 +8,6 @@
# 変更点
## 今後の予定
[Issues](https://code.naskya.net/naskya/firefish/issues) にあります。
## 主要な変更点
- 全文検索のエンジンを [PGroonga](https://pgroonga.github.io/) に変更
@ -41,8 +37,8 @@
- HTML のコードに入るコメントアートを削除
- 全ページにこんなの入れなくても……
- 本家 Firefish へのまだマージされていないマージリクエストを独断でマージ
- https://git.joinfirefish.org/firefish/firefish/-/merge_requests/10631
- https://git.joinfirefish.org/firefish/firefish/-/merge_requests/10634
- [バグ修正](https://git.joinfirefish.org/firefish/firefish/-/merge_requests/10631)
- [ドライブのファイルに「このファイルが添付された投稿の一覧」のメニューを追加](https://git.joinfirefish.org/firefish/firefish/-/merge_requests/10634)
- デフォルトではバイブレーションを無効に
- ログインしていなければ投稿検索ができないように
- 攻撃対策のため
@ -58,7 +54,7 @@
- 標準のフォントを Atkinson Hyperlegible にする変更を取り消し
- フォントを変更したい場合は[このカスタム CSS](https://gitlab.com/LunarEclipse363/lunar-misskey-tweaks#setting-a-different-font) を使ってください
- 簡体中文の翻訳が存在しない項目では繁体中文の翻訳を用いるように(本家では逆)
- @sup39 さんが独自機能に使われているラベルの繁体中文訳を提供してくださったため
- [サポミク](https://fedi.sup39.dev/@sup39)さんが独自機能に使われているラベルの繁体中文訳を提供してくださったため
- オンラインステータスが非公開のアカウントにはステータスを表す丸印を表示しないように
- 灰色の丸が表示されていてもそんなに嬉しくないため
- デフォルトで検索エンジンからのクロールを拒否するように変更
@ -94,7 +90,7 @@
- 最大 15 件の投稿を固定できるように
- 5 件は少ないと思ったため
- 投稿ボタンを巨大にできるように
- https://mstdn.poyo.me/@prime/110668364208741253 を真似しました
- [mstdn.maud.io / mstdn.poyo.me の機能](https://mstdn.poyo.me/@prime/110668364208741253) を真似しました
- アンテナにフォロー中のユーザーのホーム投稿も表示する
- フォロー中のユーザーの投稿は見たいから
- 猫のアカウントはアイコンを常に丸く表示する
@ -120,7 +116,7 @@
- favicon のほうがよくカスタマイズされているため
- 誤爆しやすい位置にあるフォローボタンを隠す設定を追加
- フォローを誤爆すると悲しいため
- クローラーを拒否する [robots.txt](./custom/assets/robots.txt) の追加
- デフォルトの robots.txt の設定を変更し、クローラーを拒否するように
- joinfirefish と FediDB のクローラーは許可しています
- 投稿プレビューをデフォルトでオンにする設定を追加
- バージョン番号にコミットハッシュが含まれるように
@ -148,73 +144,91 @@
## インストール
ToDo (#82)
ToDo
遠回りな方法ですが、公式のインストールスクリプトを使いたい場合にはそれを用いて本家の Firefish をインストールしてから下記の手順でこのフォークに移行できます。
- インストールスクリプトかインストール方法の説明を提供することを考えています
- 遠回りな方法ですが、公式のインストールスクリプトを使いたい場合にはそれを用いて本家の Firefish をインストールしてから下記の手順でこのフォークに移行できます。
- 慣れている方への説明: PostgreSQL を用いた通常の Firefish のインストールに加えて PGroonga のインストールおよびデータベースの拡張機能の有効化を行います。
## アップデート
重要なお知らせがある場合にはアップデートスクリプトを通じてお伝えするので、必ず `update.sh` を用いてアップデートしてください。
1. サーバーのバックアップを取る
1. サーバーを停止する
```sh
$ sudo systemctl stop yourserver.example.com
2. サーバーを停止する
```bash
sudo systemctl stop yourserver.example.com
```
1. `update.sh` を実行し、表示される指示に従う
```sh
$ ./update.sh
3. `update.sh` を実行し、表示される指示に従う
```bash
./update.sh
```
1. サーバーを起動して動作を確認する
```sh
$ sudo systemctl start yourserver.example.com
4. サーバーを起動して動作を確認する
```bash
sudo systemctl start yourserver.example.com
```
### 正常にアップデートできなかった場合
```sh
$ ./update.sh |& tee /tmp/fflog
```bash
./update.sh |& tee /tmp/fflog
```
を実行して(ログが `/tmp/fflog` に保存されます、OS などの環境の情報とともにログの内容を私 ([@dev@post.naskya.net](https://post.naskya.net/@dev)) まで送ってください。
を実行して(ログが `/tmp/fflog` に保存されます、OS などの環境の情報とともにログの内容を[私](https://post.naskya.net/@dev)まで送ってください。
ログは長いのでおそらく一投稿に収まりません。そのため、ログを送る際には投稿にファイルを直接添付するか、[Pastebin](https://pastebin.com/) などのサービスを使ってください。
ログを送ったら `/tmp/fflog` は削除してよいです。
```sh
$ rm /tmp/fflog
```bash
rm /tmp/fflog
```
## [本家 Firefish](https://git.joinfirefish.org/firefish/firefish) からの乗り換え
1. サーバーのバックアップを取る
1. サーバーを停止する
```sh
$ sudo systemctl stop yourserver.example.com
2. サーバーを停止する
```bash
sudo systemctl stop yourserver.example.com
```
1. Firefish がインストールされているディレクトリ (e.g., `/home/calckey/calckey`) の親ディレクトリ (e.g., `/home/calckey`) に移動する
```sh
$ cd /home/calckey
3. Firefish がインストールされているディレクトリ (e.g., `/home/calckey/calckey`) の親ディレクトリ (e.g., `/home/calckey`) に移動する
```bash
cd /home/calckey
```
1. Firefish がインストールされているディレクトリ (e.g., `./calckey`) の名前を変える
```sh
$ mv calckey calckey.old
4. Firefish がインストールされているディレクトリ (e.g., `./calckey`) の名前を変える
```bash
mv calckey calckey.old
```
1. 元々 Firefish がインストールされていたディレクトリ (e.g., `./calckey`) と同じ名前でこのリポジトリをクローンする
```sh
$ git clone https://code.naskya.net/naskya/firefish calckey
5. 元々 Firefish がインストールされていたディレクトリ (e.g., `./calckey`) と同じ名前でこのリポジトリをクローンする
```bash
git clone https://code.naskya.net/naskya/firefish calckey
```
1. 必要なファイルを元のディレクトリからコピーする
```sh
$ 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
6. 必要なファイルを元のディレクトリからコピーする
```bash
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
```
1. 全文検索エンジンMeilisearch, Sonic, Elasticsearch のいずれか)を使用している場合には、`.config/default.yml` からその設定を削除またはコメントアウトする
7. 全文検索エンジンMeilisearch, Sonic, Elasticsearch のいずれか)を使用している場合には、`.config/default.yml` からその設定を削除またはコメントアウトする
先頭に `#` をつけると設定をコメントアウトできます。
```yaml
#sonic:
# host: localhost
@ -223,149 +237,191 @@ $ rm /tmp/fflog
# collection: notes
# bucket: default
```
全文検索エンジンは停止またはアンインストールしてしまってよいです。本家の Firefish に戻るつもりがあるなら停止を、そうでなければアンインストールをおすすめします。
停止コマンドの例
```sh
$ sudo systemctl disable --now sonic
```bash
sudo systemctl disable --now sonic
```
1. PostgreSQL のバージョンを確認する
```sh
$ psql --version
8. PostgreSQL のバージョンを確認する
```bash
psql --version
```
1. PGroonga をインストールする
9. PGroonga をインストールする
コマンドの例(詳しくは[この投稿](https://post.naskya.net/notes/9ldi29amfanomef5)を参考にしてください)
```sh
$ 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
^^^^^^^^^^^^^
for PostgreSQL 14.x
```bash
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
```
1. `.config/default.yml` に書かれているデータベースの名前を確認する(以下の例では `mk1`
10. `.config/default.yml` に書かれているデータベースの名前を確認する(以下の例では `mk1`
```yaml
db:
host: localhost
port: 5432
db: mk1 # <---
```
1. PostgreSQL のプロンプトを起動する(`mk1` の部分は自分のデータベース名に変えて実行)
```sh
$ sudo -iu postgres psql --dbname=mk1
11. PostgreSQL のプロンプトを起動する(`mk1` の部分は自分のデータベース名に変えて実行)
```bash
sudo -iu postgres psql --dbname=mk1
```
以下のような表示が出てコマンドの入力待ちになります。
```
```text
psql (16.0)
Type "help" for help.
mk1=#
```
1. 以下のコマンドを実行して PGroonga の拡張機能を有効にする
12. 以下のコマンドを実行して PGroonga の拡張機能を有効にする
```sql
CREATE EXTENSION pgroonga;
```
1. `\q` というコマンドを実行するか Ctrl+D を押して PostgreSQL のプロンプトを終了する
1. 新しい Firefish のディレクトリに入ってビルドする
```sh
$ cd calckey
$ ./update.sh --skip-all-confirmations
13. `\q` というコマンドを実行するか Ctrl+D を押して PostgreSQL のプロンプトを終了する
14. 新しい Firefish のディレクトリに入ってビルドする
```bash
cd calckey
./update.sh --skip-all-confirmations
```
**注意**: `--skip-all-confirmations` というオプションは普段のアップデートでは使わないでください。重要なお知らせがある場合でも表示がスキップされてしまいます。
1. サーバーを起動して動作を確認する
```sh
$ sudo systemctl start yourserver.example.com
15. サーバーを起動して動作を確認する
```bash
sudo systemctl start yourserver.example.com
```
1. 元々 Firefish がインストールされていたディレクトリを削除する
```sh
$ cd ..
$ rm -rf calckey.old
16. 元々 Firefish がインストールされていたディレクトリを削除する
```bash
cd ..
rm -rf calckey.old
```
## このフォークから[本家 Firefish](https://git.joinfirefish.org/firefish/firefish) へ戻る
1. サーバーのバックアップを取る
1. サーバーを停止する
```sh
$ sudo systemctl stop yourserver.example.com
2. サーバーを停止する
```bash
sudo systemctl stop yourserver.example.com
```
1. Firefish がインストールされているディレクトリ (e.g., `/home/calckey/calckey`) へ移動する
```sh
$ cd /home/calckey/calckey
3. Firefish がインストールされているディレクトリ (e.g., `/home/calckey/calckey`) へ移動する
```bash
cd /home/calckey/calckey
```
1. 最新版にアップデートする
```sh
$ ./update.sh
4. 最新版にアップデートする
```bash
./update.sh
```
1. `.config/default.yml` に書かれているデータベースの名前を確認する(以下の例では `mk1`
5. `.config/default.yml` に書かれているデータベースの名前を確認する(以下の例では `mk1`
```yaml
db:
host: localhost
port: 5432
db: mk1 # <---
```
1. このフォークで加えられたデータベースへの変更を取り消す(`mk1` の部分は自分のデータベース名に変更する)
```sh
$ sudo -iu postgres psql --file=neko/revert.sql --dbname=mk1
6. このフォークで加えられたデータベースへの変更を取り消す(`mk1` の部分は自分のデータベース名に変更する)
```bash
sudo -iu postgres psql --file=neko/revert.sql --dbname=mk1
```
1. PGroonga をアンインストールする
7. PGroonga をアンインストールする
コマンドの例
```sh
$ sudo apt purge --remove postgresql-14-pgdg-pgroonga
$ sudo add-apt-repository --remove ppa:groonga/ppa
$ sudo apt-key del ACCC4CF8
$ sudo apt update
```bash
sudo apt purge --remove postgresql-14-pgdg-pgroonga
sudo add-apt-repository --remove ppa:groonga/ppa
sudo apt-key del ACCC4CF8
sudo apt update
```
1. Firefish がインストールされているディレクトリの親ディレクトリ (e.g., `/home/calckey`) に行く
```sh
$ cd ..
8. Firefish がインストールされているディレクトリの親ディレクトリ (e.g., `/home/calckey`) に行く
```bash
cd ..
```
1. Firefish がインストールされているディレクトリ (e.g., `./calckey`) の名前を変える
```sh
$ mv calckey calckey.old
9. Firefish がインストールされているディレクトリ (e.g., `./calckey`) の名前を変える
```bash
mv calckey calckey.old
```
1. Firefish がインストールされているディレクトリと同じ名前で本家版の Firefish を clone する
```sh
$ git clone https://git.joinfirefish.org/firefish/firefish.git calckey
10. Firefish がインストールされているディレクトリと同じ名前で本家版の Firefish を clone する
```bash
git clone https://git.joinfirefish.org/firefish/firefish.git calckey
```
1. 必要なファイルをコピーする
```sh
$ 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
11. 必要なファイルをコピーする
```bash
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
```
1. 新しい Firefish のディレクトリ (e.g., `./calckey`) に入り、`develop` ブランチに行く(既にそうなっているはず)
```sh
$ cd calckey
$ git checkout develop
Already on 'develop'
Your branch is up to date with 'origin/develop'.
12. 新しい Firefish のディレクトリ (e.g., `./calckey`) に入り、`develop` ブランチに行く(実際には既に `develop` にいるはず)
```bash
cd calckey
git checkout develop
```
1. Firefish をビルドする
```sh
$ corepack prepare pnpm@latest --activate
$ pnpm i
$ NODE_ENV=production pnpm run build
$ pnpm run migrate
13. Firefish をビルドする
```bash
corepack prepare pnpm@latest --activate
pnpm i
NODE_ENV=production pnpm run build
pnpm run migrate
```
1. サーバーを起動して動作を確認する
```sh
$ sudo systemctl start yourserver.example.com
14. サーバーを起動して動作を確認する
```bash
sudo systemctl start yourserver.example.com
```
1. 元々 Firefish がインストールされていたディレクトリを削除する
```sh
$ cd ..
$ rm -rf calckey.old
15. 元々 Firefish がインストールされていたディレクトリを削除する
```bash
cd ..
rm -rf calckey.old
```
### 注意
@ -374,11 +430,11 @@ $ rm /tmp/fflog
例えば `beta` 版を動かしたい場合、次に `beta` 版がリリースされたらそちらに移れます。
```sh
$ git checkout beta
$ git pull --ff
$ corepack prepare pnpm@latest --activate
$ pnpm i
$ NODE_ENV=production pnpm run build
$ pnpm run migrate
```bash
git checkout beta
git pull --ff
corepack prepare pnpm@latest --activate
pnpm i
NODE_ENV=production pnpm run build
pnpm run migrate
```