#Mastodon v4.3 の upgrade プロセスの中で、
4. Generate secrets by running RAILS_ENV=production bin/rails db:encryption:init, then copy them to your .env.production (copy it across all your nodes if you use multiple ones)
が分からない。すでに、.env.production には secret が書かれているのに。
また、 secret の作り方が、以前は exec rake secret ではなかったのか?
2点がなぞ。
@ottoto2017 Railsのバージョンあげて、新しいキーが3つ必要になったの。ActiveRecord用の。
このへん参照
https://railsguides.jp/active_record_encryption.html#基本的な利用法
Ruby vesion は 3.2.3 で依存性要求は満足してそうですが、変えないといけないのですか?
@ottoto2017 RailsはRailsでバージョン追従していかないとライフサイクルからおいていかれちゃうし、Mastodonのメジャーアップデートのタイミングで切り替えていくしかないね。
現行のMastodon v4.2.12は、Rails 7.0なんだけど、セキュリティフィクスが提供される期限が2025年4月1日までなのね。
こんどのv4.3ではRails 7.1系になる見込み。こちらは2025年10月1日まで。ただし、バグフィクスは2024年10月1日までなんだけどね。
https://rubyonrails.org/maintenance
Rails 7.2への切り替えも準備されてるよ。
https://github.com/mastodon/mastodon/pull/30391
rails -v
としても
Command 'rails' not found, but can be installed with:
apt install ruby-railties
と出て来て、rails のバージョンが分かりません。
@ottoto2017 railsはbundle exec railsとするか、bin/rails で呼びだして下さい。
bin/rails -v
bundle exec rails -v
railsのバージョンは、Gemfileの該当箇所、Gemfile.lockの該当箇所から確認できます。
Gemfileで指定しているのは
gem 'rails', '~> 7.1.1'
で、7.1.1以上で7.2.0未満を使用するよう指定していることになります。
実際にインストールされるバージョンはGemfile.lockに固定されていて、現在のmainでは
rails (7.1.4)
となっています。
Gemfile.lockは、開発環境でbundle updateした結果を保存してバージョン固定するためのファイルです。
bundle installすると、Gemfile.lockを参照してそこに固定されているバージョンのGemをインストールします。(railsはGemとして提供されています)
@ottoto2017 現在リリースされているRails 7.0系の最新バージョンですね。
Gemfile.lockに記載されているバージョンがインストールされます。
(Mastodon v4.2.12のGemfile.lockです)