読者です 読者をやめる 読者になる 読者になる

Mastodon v1.4rc2 -> v1.4rc3 アップデートしてみた。

Mastodon v1.4rc3がリリースされていたので、Mastodonインスタンス”今.jp”をアップデートしてみました。

いつも通りの手順でアップデートを実施していたところ、以下のメッセージが出てしまいました。

$ git fetch
 remote: Counting objects: 295, done.
 remote: Compressing objects: 100% (11/11), done.
 remote: Total 295 (delta 195), reused 204 (delta 195), pack-reused 89
 Receiving objects: 100% (295/295), 105.00 KiB | 0 bytes/s, done.
 Resolving deltas: 100% (219/219), completed with 112 local objects.
 From https://github.com/tootsuite/mastodon
  * [new branch]      feature-multicolumn -> origin/feature-multicolumn
    3eb1330..a28ce13  master     -> origin/master
 From https://github.com/tootsuite/mastodon
  * [new tag]         v1.4rc3    -> v1.4rc3
$ git stash
 docker-compose.yml: needs merge
 docker-compose.yml: needs merge
 docker-compose.yml: unmerged (****************************************)
 docker-compose.yml: unmerged (****************************************)
 docker-compose.yml: unmerged (****************************************)
 fatal: git-write-tree: error building trees
 Cannot save the current index state


少し色々と試してみましたが改善する兆しが見えなかった&docker-compose.ymlだけの様子でしたので、以下コマンドでサクッと修正。

$ git reset –-merge


今回は少し変則的な対応となりました。

# cd /mastodon
# systemctl stop httpd.service
# su mastodon
$ /usr/local/bin/docker-compose down --remove-orphan
$ exit
# tar cpzf /home/mastodon/backup.tar.gz postgres redis public/system docker-compose.yml .env.production
# su mastodon
$ git fetch
$ git reset –-merge
$ git checkout v1.4rc3
$ vi docker-compose.yml
$ /usr/local/bin/docker-compose build
$ /usr/local/bin/docker-compose run --rm web rake assets:precompile
$ /usr/local/bin/docker-compose up -d
$ exit
# systemctl start httpd.service
# docker system prune -a

Mastodon v1.3.3 -> v1.4rc2 アップデートしてみた。

Mastodon v1.4rc2がリリースされていたので、Mastodonインスタンス”今.jp”をアップデートしてみました。

# cd /mastodon
# systemctl stop httpd.service
# su mastodon
$ /usr/local/bin/docker-compose down --remove-orphan
$ exit
# tar cpzf /home/mastodon/backup.tar.gz postgres redis public/system docker-compose.yml .env.production
# su mastodon
$ docker system prune -a
$ git fetch
$ git stash
$ git checkout v1.4rc2
$ git stash pop
$ vi docker-compose.yml
$ exit
# chown -R 991:991 public/system
# su mastodon
$ /usr/local/bin/docker-compose build
$ /usr/local/bin/docker-compose run --rm web rake db:migrate
$ /usr/local/bin/docker-compose run --rm web rake assets:precompile
$ /usr/local/bin/docker-compose up -d
$ exit
# systemctl start httpd.service

docker-compose buildの最中にdisk fullが出てしまったので、(/var/lib/dockerは別パーティションとしてマウントしています)「docker system prune -a」で不要なイメージを削除しています。
(上手く動いているように見えますが、要検証です。)
docker-compose.ymlのマージでコンフリクトが発生したようなので手動で修正を行いました。
リリースノートに従って「chown -R 991:991 public/system」と、データベースのマイグレーション、アセットのプリコンパイルを実施しました。

GitHubのDeveloper Plan($7/mo)を契約した。

VPSでプライベートなGitリポジトリを運用しておりますが、運用にかかる手間を考えるとGitHubのようなSaaSが理想的だと思うようになりました。
※運用していたウェブログを、MovableTypeやWordPressからはてなブログに移行したのもそういった考え方によります。

費用面で考えても「さくらのVPS 1G(972円/月) + Zenlogic プランS(890円/月)」で1,862円/月が掛かっておりますので、GitHub Developer Planの$7/mo($1=120円換算で840円/月)は魅力的な価格だと思います。
※Zenlogicはバックアップ用サーバとして利用しております。

唯一の懸案事項はGitHubで利用可能なストレージ容量ですが、Git LFSを活用することで対応したいと思います。
※Git LFSは1GBまで無料、data packを購入($5/mo)することで50GBずつ増やすことが可能なようです。


なお、既存のリポジトリは以下のように移行しました。

SSHの鍵を生成してid_rsa.pubの内容をGitHubに登録します。

$ cd
$ cd .ssh
$ ssh-keygen -t rsa -b 4096
$ cat id_rsa.pub

git pushコマンドでGitHubにデータを移行します。

$ cd /git/<リポジトリ名>.git
$ git push --mirror git@github.com:<ユーザID>/<リポジトリ名>.git

Mastodon v1.3.2 -> v1.3.3 アップデートしてみた。

早くもMastodon v1.3.3がリリースされていたので、Mastodonインスタンス”今.jp”をアップデートしてみました。
テスト環境を作っていないリリースノートを読む限りクリティカルな変更は入っていなさそうなのでカジュアルにアップデートしましたが、いくつかの操作を試してみたところ上手く動いているようなので、しばらく様子を見守ることにします。(そのうち動作の検証項目リストも作成しておきたいですね。)

# cd /mastodon
# systemctl stop httpd.service
# su mastodon
$ /usr/local/bin/docker-compose down --remove-orphan
$ exit
# tar cpzf /home/mastodon/backup.tar.gz postgres redis public/system docker-compose.yml .env.production
# su mastodon
$ git fetch
$ git stash
$ git checkout v1.3.3
$ git stash pop
$ /usr/local/bin/docker-compose build
$ /usr/local/bin/docker-compose run --rm web rake db:migrate
$ /usr/local/bin/docker-compose run --rm web rake assets:precompile
$ /usr/local/bin/docker-compose up -d
$ exit
# systemctl start httpd.service

まだリストアまで検証していないのでバックアップの取り方がこれで良いのか疑問ですが、手順に織り込んでみました。
データベースのマイグレートやアセットのプリコンパイルは不要かとも思いましたが、ここでハマりたくないので敢えて実施するようにしています。

Mastodonインスタンス”今.jp”を立ててみた。

サーバのお勉強を兼ねて、Mastodonのインスタンス(https://今.jp/)を立ててみました。
個人運営ですのでデータやサービスの永続性は保証できませんが、もしよろしければ遊んでみてください。
f:id:shukukei:20170501134901p:plain

構成は下図のようなイメージとなっております。
追記部分に構築時のメモを残しておきますので、ご興味が御座いましたらご参考ください。
f:id:shukukei:20170419022145p:plain

続きを読む