Misskey instanceを建てる

非力なVPSではインスタンスのビルドをしようとするとメモリが足りない。そこで、手元のマシンでビルドをした後に、それをVPSに移動することにする。 [[ クロスコンパイル ]]と同じ発想。

まず、手元のメモリが十分にあるマシンで、[Docker Composeを使ったMisskey構築 Misskey Hub](https://misskey-hub.net/docs/install/docker.html) に従って、ビルドと初期化までを済ませる。この時点で、Web, DB (Postgres), Redis に対応する3つのコンテナがある。
$ docker container list

(todo)

次に、生成したコンテナを、繰り返し使えるイメージに変換してファイルに出力する。exportやloadなど、いろいろなところに似たようなコマンドの説明があって困るが、 https://docs.docker.com/desktop/backup-and-restore/ に従えばよい。汎用的に使えるイメージではないので、Docker Hubにはアップロードせずに、docker image save でローカルに出してしまうのがいいだろう。以降、3つのイメージを misskey-web.tar, db.tar, redis.tar に出力したとしよう。

docker-compose.yml を見ればわかるように、git cloneしてきた misskey/ ディレクトリ自体にもデータが書き込まれているから、これもファイルにまとめておく。

zip -r misskey.zip misskey/

必要なファイルが揃ったので、 VPSに移動する。

scp misskey-web.tar (remote host):/path/to/...
scp db.tar ...
scp redis.tar ...
scp misskey.zip ...

tarにまとまっているイメージをVPSのDockerに読み込む。

docker image load -i (image).tar

docker image tag (image id) (name) などとして名前をつけておくと後々便利。

あとは misskey/ ディレクトリから docker compose up をすると動く。

Backlinks

There are no notes linking to this note.