🖥️

Concrntサーバーの移動

2025/02/11に公開

ConcrntというSNSのお一人用サーバーを立てました。
あらかじめサーバー移動手順を調べてやってみたので、まとめました。

Concrntって何?って方は公式の説明を見てね。

移動元のデータベースのdump

  1. microk8s kubectl get deployments -n concrntで出てくるdeploymentをDB以外すべて止める。
    止めるコマンド:microk8s kubectl scale deployment {deployment名} --replicas=0 -n concrnt
  2. microk8s kubectl get pods -n concrntで動いているpodがDBのみか確認。
  3. k8s版concrntのDBをdmpする方法|ariwara の通りにdumpして取り出す。
  4. 構築時に利用したconcrnt-kustomizeのvalue.xmlも取り出しておく。
  5. microk8s stopでmicrok8sを停止する。
    ※microk8sで他のアプリケーションを構築している場合は、microk8sを停止せずにconcrntに関するpodすべてを停止してください。

移動先にリストアする

  1. 移動元でdumpしたファイルとconcrnt-kustomizeのvalue.xmlをコピーしておく。
  2. Step1 kubernetesのセットアップの通りに、移動元と同じvalue.xmlを使って構築する。
  3. microk8s kubectl get deployments -n concrntで出てくるdeploymentをDB以外すべて止める。
    止めるコマンド:microk8s kubectl scale deployment {deployment名} --replicas=0 -n concrnt
  4. microk8s kubectl get pods -n concrntで動いているpodがDBのみか確認。
  5. microk8s kubectl cp -n concrnt {dumpしたファイルパス} {DBのpod名}:/tmp/backup.dumpでdumpしたファイルをpodにコピーする
  6. microk8s kubectl exec -it concurrent-db-0 -n concrnt -- bashでDBのpod内に入る。
  7. すでにあるデータベースのテーブルを消したいので、deletedb -U postgres concrntで一度データベースを削除する。
  8. createdb -U postgres concrntでもう一度作る
  9. pg_restore -Fc -U postgres -d concrnt /tmp/backup.dumpでリストアする。
  10. 止めてたdeploymentsを動かす。
    動かすコマンド:microk8s kubectl scale deployment {deployment名} --replicas=1 -n concrnt
  11. microk8s kubectl get pods -n concrntで正常に稼働しているか確認する。
  12. 移動完了

Step2 アクセスできるようにするは移動元でCloudflare Tunnelsを利用していた場合は行う。

動作確認

concrnt.worldにアクセスして、サーバーが正常に動作しているか確認してください。

Discussion