将Strapi推到Heroku不是生成.ENV文件,无法连接到Postgres

发布于 2025-01-23 10:23:31 字数 1623 浏览 0 评论 0原文

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

但是,我要进行创建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,它甚至不会再次生成。

这是如此令人沮丧,我不知道如何使其在我的实际项目中起作用,而不是一个新项目。

I've been following the tutorial on strapi's website: https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/deployment/hosting-guides/heroku.html#heroku-install-requirements

however, I get to step 5 of creating the postgres config, and it all gets weird. Specifically:

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)

I don't understand, how are these commands supposed to set the variables when I don't even have the .env file.

How can I generate a .env file from the DATABASE_URL? The docs say that we need to include the variables such as JWT_SECRET, APP_KEYS, and SALT. Where can i get these from?

This part is supposed to parse the DATABASE_URL and generate the environment variables?

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

Or am i confused over here?

The project is building and pushing to heroku successfully, however running heroku open does not work.

Also, I happened to accidentally get it to work once on an new strapi project. The .env got generated on its own and the strapi server started on heroku. But now, if i delete the .env, it doesn't even generate again.

This is so frustrating, I don't know how to make it work on my actual project and not a new one.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

穿越时光隧道 2025-01-30 10:23:31

您可以随机制作新键,并将它们添加到Heroku Config变量中。您可以使用以下内容,而不是使用文档的部分:

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添加到它们。

You can make new keys randomly and add them to heroku config variables. Instead of using the part of the documentation you are using you can use this:

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)

This should generate new keys for you. Then add MY_HEROKU_URL to them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文