Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MastodonをDockerから脱獄させた方法
- ===
- ### Postgresql
- 1. Postgresqlをインストールし、データベースの初期化をする(Production\_guide参照)。
- 2. 既存の`.env.production`を引き継がない場合、`DB_USER`と`DB_NAME`をDockerで動いているものに合せる。
- 3. Dockerのdbに入り、pg\_dumpallでバックアップをとる。
- このとき、インスタンスを動かしていたりすると後々面倒になりそうなので、
- dbのコンテナだけが動いている状況がいいのかもしれない。
- **`pg_dumpall > backup.db`**
- 4. バックアップからデータベースを復元していく。
- **`psql -f backup.db ${DB_NAME}`**
- ### Redis
- 1. Redisをインストールし、一時的に止めておく。
- 2. こちらの環境では、/var/lib/redis/dump.rdbにあるので、dockerで動かしている
- ディレクトリにあるredis/dump.rdbを上書きする。
- なお、他でredisを使っていると不具合がありそうなので、やらないほうが良いでしょう。
- だいたいこんなかんじ。PostgresqlとRedisはそれぞれ再起動などをしておいたほうがいいでしょう。
- データベースさえなんとかなれば、あとは勝ちなのでがんばりましょう!
- ### ハマったところ
- postgresqlのdbバックアップ、リストア自体は上手くいったけど、mastodonがdbがないという。
- それもそのはず、`.env.prodution`に記述されている`DB_NAME`と`DB_NAME`がdbに存在していないからであった。
- 原因は新`.env.production`と旧`.env.production`の設定ミス。普通にコピーしていれば遭遇しなかったかも。
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement