与Postgres的Dokku Ghost博客

时间:2015-10-20 05:40:32

标签: postgresql ghost-blog dokku ghost

我一直试图让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)以及Flink'(https://github.com/Flink/dokku-psql-single-container)但两者都返回连接错误。我挑选了官方插件的URL,并将主机与生成的其余postgres连接字符串分开并得到了“错误:您在config.js中的数据库配置无效。”#34;这与我使用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插件没有提供用户,所以我必须创建一个,然后我使用创建的连接字符串来获取主机信息是相同的。

提前致谢,

史蒂夫

1 个答案:

答案 0 :(得分:1)

答案结果很简单。使用官方的Postgres插件,你只需要

database: {
            client: 'postgres',
            connection: process.env.DATABASE_URL,
            debug: false
        },

作为config.js中的数据库配置。对我而言,最初我不需要做的就是将客户端从pg更改为postgres以便使用数据库URL环境变量。