ActiveSupport::EncryptedFile::MissingKeyError:缺少用于解密文件的加密密钥.



我正在尝试将rails 7应用程序部署到Fly.io,该应用程序使用Docker来部署应用程序。当我尝试部署时,我不断收到以下错误。

ActiveSupport::EncryptedFile::MissingKeyError: Missing encryption key to decrypt file with. Ask your team for your master key and write it to /app/config/credentials/production.key or put it in the ENV['RAILS_MASTER_KEY'].

我尝试将以下内容放入我的docker文件中:

RUN --mount=type=secret,id=RAILS_MASTER_KEY 
RAILS_MASTER_KEY="$(cat /run/secrets/RAILS_MASTER_KEY)" 

然后运行:

fly deploy 
--build-secret RAILS_MASTER_KEY=the_actual_secret_key_here

这行不通。我已经将密钥作为环境变量添加到fly.io中,但我的理解是这是失败的,因为生产密钥在构建时不可用。不管怎样,我被难住了。有什么想法吗?

我是码头工人的新手,所以我可能只是错过了一些简单的东西。

我知道我迟到了。但我今天也遇到了类似的问题。我能够通过以下方式工作:

删除主密钥

通过运行创建一个新的

EDITOR="code --wait" bin/rails credentials:edit

添加必要的密钥,例如cloudlflare、aws等

重新运行飞行部署

学分:https://github.com/mrsked/mrsk/dis

最新更新