【问题标题】:Pushing strapi to heroku is not generating .env file, cannot connect to postgres将strapi推送到heroku不会生成.env文件,无法连接到postgres
【发布时间】:2022-06-20 02:32:08
【问题描述】:

我一直在关注strapi网站上的教程:https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/deployment/hosting-guides/heroku.html#heroku-install-requirements

然而,我到了创建 postgres 配置的第 5 步,这一切都变得很奇怪。具体来说:

heroku config:set MY_HEROKU_URL=$(heroku info -s | grep web_url | cut -d= -f2)
heroku config:set APP_KEYS=$(cat .env | grep APP_KEYS | cut -d= -f2-)
heroku config:set API_TOKEN_SALT=$(cat .env | grep API_TOKEN_SALT | cut -d= -f2)
heroku config:set ADMIN_JWT_SECRET=$(cat .env | grep ADMIN_JWT_SECRET | cut -d= -f2)
heroku config:set JWT_SECRET=$(cat .env | grep -w JWT_SECRET | cut -d= -f2)

我不明白,当我什至没有 .env 文件时,这些命令应该如何设置变量。

如何从DATABASE_URL 生成 .env 文件?文档说我们需要包含JWT_SECRETAPP_KEYSSALT 等变量。我可以从哪里得到这些?

这部分应该是解析DATABASE_URL并生成环境变量?

const config = parse(process.env.DATABASE_URL);

还是我在这搞糊涂了?

项目正在构建并成功推送到heroku,但是运行heroku open 不起作用。

另外,我碰巧在一个新的 Strapi 项目中使用它。 .env 是自己生成的,strapi 服务器在 heroku 上启动。但是现在,如果我删除 .env,它甚至不会再次生成。

这太令人沮丧了,我不知道如何使它适用于我的实际项目而不是新项目。

【问题讨论】:

    标签: postgresql environment-variables strapi heroku-postgres


    【解决方案1】:

    您可以随机创建新密钥并将它们添加到 heroku 配置变量中。而不是使用您正在使用的文档部分,您可以使用:

    heroku config:set APP_KEYS=$(openssl rand -base64 32)
    heroku config:set API_TOKEN_SALT=$(openssl rand -base64 32)
    heroku config:set ADMIN_JWT_SECRET=$(openssl rand -base64 32)
    heroku config:set JWT_SECRET=$(openssl rand -base64 32)
    

    这应该会为您生成新密钥。然后给他们添加MY_HEROKU_URL

    【讨论】:

      猜你喜欢
      • 2020-09-16
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-30
      • 2013-04-05
      • 1970-01-01
      • 2016-12-14
      相关资源
      最近更新 更多