You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Kamal部署Rails 8时遭遇secret_key_base缺失问题咨询

使用Kamal 2.4部署Rails 8时遇到secret_key_base缺失问题

我正在用Kamal 2.4部署Rails 8应用,当前的deploy配置文件如下:

service: appa

image: appa

servers:
  web:
    - 1.2.3.4
  job:
    hosts:
      - 1.2.3.4
    cmd: bin/jobs

proxy:
  ssl: true
  host: app.appa.dev

registry:
  server: ghcr.io
  username: appa
  password:
    - KAMAL_REGISTRY_PASSWORD

builder:
  arch: amd64

env:
  clear:
    POSTGRES_USER: rails
    POSTGRES_HOST: 1.2.3.4
  secret:
    - RAILS_MASTER_KEY
    - POSTGRES_PASSWORD

ssh:
  user: appa
  keys: [ "~/.ssh/appa" ]

accessories:
  postgres:
    image: postgres:17.2-alpine
    port: 127.0.0.1:5432:5432
    host: 1.2.3.4
    env:
      clear:
        POSTGRES_USER: rails
        POSTGRES_DB: appa_production
      secret:
        - POSTGRES_PASSWORD
    directories:
      - data:/var/lib/postgresql/data

我的代码仓库里包含以下两个文件:

master.key

4e4aaaa32d5bd12a846f49a593ca1ccd

credentials.yml.enc

4M8wypptJJZUufyGRmAxnzB+McDmH7KXWxqdwQuhXTIwn1qMlZJ4b5TvEEAkrSrSIpbIiilZbtiimUzwhFq0CfDhZC5XGMGIXtAEBxR4RKyLeufv+F/DLZFL5x0l7k1dVgMgBaFOGJIp2CQSzbmVmBf5wIYIcRu0g6b0+BEHCZoTxsuj8viwfZTIwi1gGGEq2rfddkV9ym6K5pLcsxJ+m5JSgcMGe0IuqGa4AFcZ9pJCBug7Xw8RxOkJ5u8gDfTgxtTYljR6HJeb/rt/5GeRWQAqdiMIiwldj6riFaC3Wi3YJIk/1X9Vg7kT+IfIz6zYlPXe0Em2yHeyFZwLQ1L402o1l9dyJ1QO9tXTigp1ijHph4csUZsWExywIZyudD5LSyMRd6Z3tlEV6MfqOAskAaHxKQzkuMsEIcPpEBGr4Z0lzh3ydnCwtt/TxUbEIPeemWf0tjsl5+mzC99Zxjxq7xhMS+nAqg/eWkxJ9JfSOqMbkRXqWZF3wMKO--2wgnxUl0INQXAuDv--zjv+cpkH8t39ewgycwh6Hg==

当我执行kamal setup时,出现了以下错误:

raise ArgumentError, "Missing secret_key_base for '#{Rails.env}' environment, set this string with bin/rails credentials:edit"

按照提示执行bin/rails credentials:edit后,我看到里面已经配置了secret_key_base:

secret_key_base: fa3247a154a8db696f8d5c0567ac6a345ed078edb141020e79ac3fb8ebc65b985872355719babd30775d8ae04a425330d4a958c8cb6c9dc4a188320277f8971f

目前我只能通过在deploy文件的env中手动指定SECRET_KEY_BASE来解决问题:

env:
  clear:
    POSTGRES_USER: rails
    POSTGRES_HOST: 1.2.3.4
    SECRET_KEY_BASE: fa3247a154a8db696f8d5c0567ac6a345ed078edb141020e79ac3fb8ebc65b985872355719babd30775d8ae04a425330d4a958c8cb6c9dc4a188320277f8971f

但我查阅的所有Kamal部署Rails的教程和文档里,都不需要手动指定SECRET_KEY_BASE环境变量。请问我是不是遗漏了某个配置步骤?


内容的提问来源于stack exchange,提问作者Sig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 10:09:57