Docker上で動いているMastodonをkubernetesクラスタに移動した作業メモ

本稿のスコープ外 Kubernetes(以下 k8s)クラスタの構築方法 Mastodonの初期設定 kustomizeのインストール ※ 多少読み替えて頂ければ、dockerではないMastodonも移行できるはず 前提条件 kubectlが実行可能なこと kustomize が使用可能なこと 以降元dockerコンテナのファイルを持ってこれること 作業手順 実は移行自体はそれほど難しくありません。 移行が必要なのは、PostgreSQLのDBだけです。redisのデータも移行した方がよいですが、 移行しなくてもその時点のSidekiqのジョブが失われる程度で、恐らく誰も気づきません。 ※ 管理者的には、Sidekiq画面のジョブ数がリセットされるのが残念かな?程度 kubernetesクラスタ上にPodを生成 Deployment定義をgithubに公開しています。...

writefreely をdockerで走らせてみた。

まえがき writefreely をdockerで走らせてみた。 docker-compose.ymlと、Dockerfileは以下で公開しています。 https://github.com/yakumo-saki/docker-writefreely ライセンスはオリジナルに従い AGPL 3.0 としています。 なお、本文書は作業を行ってからしばらく立って記憶だけで書いているので 誤りがある可能性が高いです。誤りを見つけたら編集リクエスト等頂けるとありがたいです。 また、writefreelyをproductionで走らせる場合、dockerイメージはまだ出来てないよ的な 記述があるのでご注意ください。 dockerイメージ yakumosaki/...

jetson nano (aarch64) にdockerでzabbixを入れる

tl;dr 成果物はこちらです。試していないのですが、Rock64等、arm64なものであれば動くと思います。 https://github.com/yakumo-saki/docker-zabbix-server-arm64/tree/master https://hub.docker.com/r/yakumosaki/zabbix-server-mysql https://hub.docker.com/r/yakumosaki/...

docker-compose down時の SIGKILL が送られるまでの待ち時間を変更する

まえがき docker-compose down を実行した際にデフォルトでは SIGTERM が送信され、 10秒以内にプロセスが終了しないと、 SIGKILL を送信するようになっている。 大抵のコンテナは10秒以内に終了できるが、DBMS等のシャットダウンが必要なコンテナは タイムアウトが発生して SIGKILL されてしまう可能性がある。 そこで、このタイムアウトを変更する方法をメモしておく docker-compose.yml での指定 docker-compose.yml に stop_grace_period を追加する。...

Mastodonの非Docker→Docker化

環境 元サーバー:非Dockerで稼働中のMastodonサーバー 新サーバー:Docker及びdocker-composeインストール済みのサーバー 作業PC:作業を行うPCです。SSHとSCPがあるとよいです。 移行の大枠 考え方としては、DBと .env.production ファイルを移行すればOK。 ただし、Redisのデータを移行しないとSidekiqのジョブのカウントが0に戻って少し悲しい。 移行手順 (元サーバー)から .env.production を取得する そのままなので詳細は割愛。新サーバーにコピーしておく。 (新サーバー)docker-compose....