使用 Postgres 的 Dokku Ghost 博客
Dokku Ghost blog with Postgres
我一直在努力让 Dokku、Ghost 和 Postgres 一起正常工作,但我不知道我缺少什么。也许只是 Ghost 不支持容器化的 postgres,或者(更有可能)我只是在配置中遗漏了一些东西。我当前的配置文件如下所示:
database: {
database: {
client: 'pg',
connection: {
host : process.env.DB_HOST,
user : process.env.DB_USER,
password : process.env.DB_PASS,
database : process.env.DB_NAME,
port : process.env.DB_PORT,
charset : 'utf8'
}
},
logging: false
我已经尝试了官方测试版 Postgres 插件 (https://github.com/dokku/dokku-postgres), as well as Flink's (https://github.com/Flink/dokku-psql-single-container),但都 return 连接错误。我将官方插件的 URL 分开,并将主机与生成的 postgres 连接字符串的其余部分分开,得到 "ERROR: Your database configuration in config.js is invalid." 这与我在 Flink 中得到的是同一行,这是您在上面看到的配置.
我从这里的教程中提取了这个:robmcguinness。 com/digitalocean-dokku-postgresql-and-ghost/ 这是以前的版本,但我已尽力更正更改。
我知道我可以让 sqlite 工作,但我更希望 Postgres 支持博客,以确保我可以在需要时扩展它。如果有人注意到我遗漏的任何内容,请告诉我,在放弃并转向此处寻求帮助之前,我已经为此努力了几个小时。
以上配置中这些变量的截尾输出供参考:
host : process.env.DB_HOST (postgres),
user : process.env.DB_USER (db_blog),
password : process.env.DB_PASS (a password),
database : process.env.DB_NAME (db_blog),
port : process.env.DB_PORT (5432)
DB_HOST 的 postgres 输出是因为它是数据库的容器。官方的 Postgres 插件没有提供用户,所以我必须创建一个,然后我使用创建的连接字符串来获取主机信息。
提前致谢,
史蒂夫
原来答案很简单。使用官方 Postgres 插件,您只需要
database: {
client: 'postgres',
connection: process.env.DATABASE_URL,
debug: false
},
作为您在 config.js 中的数据库配置。最初对我来说并不明显,我需要做的就是将客户端从 pg 更改为 postgres 以便使用数据库 URL 环境变量。
我一直在努力让 Dokku、Ghost 和 Postgres 一起正常工作,但我不知道我缺少什么。也许只是 Ghost 不支持容器化的 postgres,或者(更有可能)我只是在配置中遗漏了一些东西。我当前的配置文件如下所示:
database: {
database: {
client: 'pg',
connection: {
host : process.env.DB_HOST,
user : process.env.DB_USER,
password : process.env.DB_PASS,
database : process.env.DB_NAME,
port : process.env.DB_PORT,
charset : 'utf8'
}
},
logging: false
我已经尝试了官方测试版 Postgres 插件 (https://github.com/dokku/dokku-postgres), as well as Flink's (https://github.com/Flink/dokku-psql-single-container),但都 return 连接错误。我将官方插件的 URL 分开,并将主机与生成的 postgres 连接字符串的其余部分分开,得到 "ERROR: Your database configuration in config.js is invalid." 这与我在 Flink 中得到的是同一行,这是您在上面看到的配置.
我从这里的教程中提取了这个:robmcguinness。 com/digitalocean-dokku-postgresql-and-ghost/ 这是以前的版本,但我已尽力更正更改。
我知道我可以让 sqlite 工作,但我更希望 Postgres 支持博客,以确保我可以在需要时扩展它。如果有人注意到我遗漏的任何内容,请告诉我,在放弃并转向此处寻求帮助之前,我已经为此努力了几个小时。
以上配置中这些变量的截尾输出供参考:
host : process.env.DB_HOST (postgres),
user : process.env.DB_USER (db_blog),
password : process.env.DB_PASS (a password),
database : process.env.DB_NAME (db_blog),
port : process.env.DB_PORT (5432)
DB_HOST 的 postgres 输出是因为它是数据库的容器。官方的 Postgres 插件没有提供用户,所以我必须创建一个,然后我使用创建的连接字符串来获取主机信息。
提前致谢,
史蒂夫
原来答案很简单。使用官方 Postgres 插件,您只需要
database: {
client: 'postgres',
connection: process.env.DATABASE_URL,
debug: false
},
作为您在 config.js 中的数据库配置。最初对我来说并不明显,我需要做的就是将客户端从 pg 更改为 postgres 以便使用数据库 URL 环境变量。