Hmm, generally I wouldn’t generate the SECRET_KEY_BASE
if it doesn’t exist, I’d instead always pass it in via Env variables. Specifically these are the situations I’ve dealt with before that didn’t involve Kubernetes/Docker:
- App deployed on Heroku - Set an env variable in the UI
- App deployed on Render - Set an env variable in the UI
- App deployed on my own server and managed with systemd - Set
EnvironmentFile=/path/to/some/.env
file
That way the only snippet you need is something like:
# /config/runtime.exs
# …
if config_env() == :prod do
# …
secret_key_base =
System.get_env("SECRET_KEY_BASE")
|| raise "SECRET_KEY_BASE is required and was not found"
# …
end