1
0
Fork 1
mirror of https://example.com synced 2024-11-23 08:56:38 +09:00
firefish/docs/migrate.md

183 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# このフォークから本家版に移行する
## サーバーに 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
```
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 --detach
```
10. 元々 Firefish がインストールされていたディレクトリを削除する
```bash
cd ..
rm -rf firefish.old
```