クローズド環境で絵文字をインポートする¶
クローズド環境では絵文字を連合からインポート出来ず、エクスポートされたzipからもインポート出来ない。
(途中で連合通信が走ってタイムアウトする)
そのため、通常環境に起動しているインスタンスのDBから「emoji」テーブルをダンプリストアで移行する。
この方法だと連合状態でのリモート絵文字インポートと同じ扱いになる。一応動作させてみた感じ問題はなさそう。
- 気をつける事
- クローズド環境のmisskeyからはインターネットが参照できること
DBの形式がオリジナルサイトのURLのため参照出来る。 - ダンプ取得元の絵文字ファイルURL自体がローカルIPなどのクローズドアドレスでない事
上記と同じ理由。リストア先でこれを参照するため。
- クローズド環境のmisskeyからはインターネットが参照できること
コピー元での作業¶
インターネット上で通常稼働している通常のサーバであることが望ましい。
- emojiテーブルのダンプを取得
※rootディレクトリには出力出来ないのでパスを変える事sudo -u postgres pg_dump --table emoji --data-only misskey > emoji.sql
- 出来上がったemoji.sqlの中身を確認し、およそただしいSQL文が出来ている事を確認する。
スキーマは絵文字登録のないmisskeyでも出来ているので、「--data-only」でデータのみ抽出する。 - emoji.sqlをコピー先に転送する。
コピー先での作業¶
インターネットからは参照されないが、インターネットは参照出来る必要がある。(一般利用PCと同じ状態)
- emoji.sqlを転送してくること
※rootディレクトリでは入力出来ないのでパスを変える事 - 次のコマンドでsqlを入力する。
sudo -u postgres psql -d misskey < emoji.sql
- ブラウザでカスタム絵文字ページを開く(既に開いていたらリロードする)
- もし不要な絵文字や表示出来ない絵文字が登録されていたらブラウザ操作で削除する
- 一つも登録されていないカテゴリが出来た場合は、misskey上の「キャッシュをクリア」の実行で消える
以上でコピーが出来る。
2回目以降は同じキーのレコードは上書きされてしまうので、コピー先で属性を弄らない方が良い。
またコピー先で消した絵文字も2回目以降同じデータを使用してコピーしなおすと復活してしまう。