189 lines
6.6 KiB
Markdown
189 lines
6.6 KiB
Markdown
# このフォークから本家版に移行する
|
||
|
||
移行には時間が掛かるので、必ずまとまった時間が取れるときに行ってください。
|
||
|
||
## サーバーに Firefish を直接インストールしている場合
|
||
|
||
1. サーバーを停止する
|
||
|
||
```bash
|
||
sudo systemctl stop firefish
|
||
```
|
||
|
||
2. サーバーのバックアップを取る
|
||
|
||
3. Firefish がインストールされているディレクトリ (e.g., `/home/firefish/firefish`) の親ディレクトリ (e.g., `/home/firefish`) に移動する
|
||
|
||
```bash
|
||
cd /home/firefish
|
||
```
|
||
|
||
4. Firefish がインストールされているディレクトリ (e.g., `./firefish`) の名前を変える
|
||
|
||
```bash
|
||
mv firefish firefish.old
|
||
```
|
||
|
||
5. 元々 Firefish がインストールされていたディレクトリ (e.g., `./firefish`) と同じ名前でこのリポジトリをクローンする
|
||
|
||
```bash
|
||
git clone --branch=main https://code.naskya.net/naskya/firefish firefish
|
||
```
|
||
|
||
6. 必要なファイルを元のディレクトリからコピーする
|
||
|
||
```bash
|
||
rm -rf firefish/files firefish/custom firefish/.config
|
||
cp -r firefish.old/files firefish
|
||
cp -r firefish.old/custom firefish
|
||
cp -r firefish.old/.config firefish
|
||
```
|
||
|
||
7. 全文検索エンジン(Meilisearch, Sonic, Elasticsearch のいずれか)を使用している場合には、`.config/default.yml` からその設定を削除またはコメントアウトする
|
||
|
||
先頭に `#` をつけると設定をコメントアウトできます。
|
||
|
||
```yaml
|
||
#sonic:
|
||
# host: localhost
|
||
# port: 1491
|
||
# auth: SecretPassword
|
||
# collection: notes
|
||
# bucket: default
|
||
```
|
||
|
||
全文検索エンジンは停止またはアンインストールしてしまってよいです。本家の Firefish に戻るつもりがあるなら停止を、そうでなければアンインストールをおすすめします。
|
||
|
||
停止コマンドの例
|
||
|
||
```bash
|
||
sudo systemctl disable --now sonic
|
||
```
|
||
|
||
8. PostgreSQL のバージョンを確認する
|
||
|
||
```bash
|
||
psql --version
|
||
```
|
||
|
||
9. PGroonga をインストールする
|
||
|
||
コマンドの例(詳しくは[この投稿](https://post.naskya.net/notes/9ldi29amfanomef5)を参考にしてください)
|
||
|
||
```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-16-pgdg-pgroonga
|
||
```
|
||
|
||
10. `.config/default.yml` に書かれているデータベースの名前を確認する(以下の例では `firefish_db`)
|
||
|
||
```yaml
|
||
db:
|
||
host: localhost
|
||
port: 5432
|
||
db: firefish_db # これ
|
||
```
|
||
|
||
11. 以下のコマンドを実行してデータベースに変更を加える(`firefish_db` の部分は自分のデータベース名に変えて実行)
|
||
|
||
```bash
|
||
sudo -u postgres psql --dbname=firefish_db --file=neko/install.sql
|
||
```
|
||
|
||
12. 新しい Firefish のディレクトリに入ってビルドする
|
||
|
||
```bash
|
||
cd firefish
|
||
./update.sh --install --native
|
||
```
|
||
|
||
`update.sh` の初回の実行には非常に時間が掛かります(サーバーの規模にもよりますが、数十分から 1 時間は掛かると思ってください)。処理がフリーズしているように見えることもありますが、**絶対に途中で強制終了しないでください。**
|
||
|
||
13. サーバーを起動して動作を確認する
|
||
|
||
```bash
|
||
sudo systemctl start firefish
|
||
```
|
||
|
||
14. 元々 Firefish がインストールされていたディレクトリを削除する
|
||
|
||
```bash
|
||
cd ..
|
||
rm -rf firefish.old
|
||
```
|
||
|
||
## コンテナで Firefish を動かしている場合
|
||
|
||
Docker を使う場合には以下の `podman`, `podman-compose`, `--podman` をそれぞれ `docker`, `docker-compose`, `--docker` に読み替えてください。
|
||
|
||
1. サーバーを停止し、バックアップを取る
|
||
2. Firefish がインストールされているディレクトリ (e.g., `/home/firefish/firefish`) の親ディレクトリ (e.g., `/home/firefish`) に移動する
|
||
|
||
```bash
|
||
cd /home/firefish
|
||
```
|
||
|
||
3. Firefish がインストールされているディレクトリ (e.g., `./firefish`) の名前を変える
|
||
|
||
```bash
|
||
mv firefish firefish.old
|
||
```
|
||
|
||
4. 元々 Firefish がインストールされていたディレクトリ (e.g., `./firefish`) と同じ名前でこのリポジトリをクローンする
|
||
|
||
```bash
|
||
git clone --branch=main https://code.naskya.net/naskya/firefish firefish
|
||
```
|
||
|
||
5. 必要なファイルを元のディレクトリからコピーする
|
||
|
||
```bash
|
||
rm -rf firefish/files firefish/custom firefish/.config
|
||
cp -r firefish.old/files firefish
|
||
cp -r firefish.old/custom firefish
|
||
cp -r firefish.old/.config firefish
|
||
```
|
||
|
||
6. `docker-compose.yml` の設定例を複製する
|
||
|
||
```bash
|
||
cp firefish/docker-compose.example.yml firefish/docker-compose.yml
|
||
```
|
||
|
||
`docker-compose.yml` にカスタムが必要な場合には、各自で編集してください。
|
||
|
||
7. 以下のコマンドを実行してデータベースに変更を加える
|
||
|
||
```bash
|
||
podman-compose up db --detach
|
||
podman-compose exec db sh -c 'psql --user="${POSTGRES_USER}" --dbname="${POSTGRES_DB}" --file=/docker-entrypoint-initdb.d/install.sql'
|
||
```
|
||
|
||
8. コンテナイメージをダウンロードまたはビルドする
|
||
|
||
```bash
|
||
./update.sh --install --podman
|
||
```
|
||
|
||
9. サーバーを起動して動作を確認する
|
||
|
||
```bash
|
||
podman-compose up
|
||
```
|
||
|
||
初回の起動には非常に時間が掛かります(サーバーの規模にもよりますが、数十分から 1 時間は掛かると思ってください)。初回は `-d (--detach)` のオプション無しで起動してログを確認することをおすすめします。**処理がフリーズしているように見えることもありますが、絶対に途中で強制終了しないでください。**
|
||
|
||
10. 元々 Firefish がインストールされていたディレクトリを削除する
|
||
|
||
```bash
|
||
cd ..
|
||
rm -rf firefish.old
|
||
```
|