我已经按照这里的说明在数字海洋液滴上设置了哈苏拉 - https://docs.hasura.io/1.0/graphql/manual/guides/deployment/digital-ocean-one-click.html -
如何连接到 Postgres 数据库?最好使用类似 DBeaver 的东西 - 带有主机、数据库、用户、密码。
我猜 Postgres 在 Docker 容器中运行,但你如何向外界公开它?
Digital Ocean Marketplace 上使用的 docker-compose.yaml 不会在主机上公开 Postgres 数据库。
您可以在/etc/hasura/docker-compose.yaml
中找到该文件。如果您的数据库管理工具支持作为 docker 容器运行,我建议将其相关配置添加到 docker-compose.yaml 中,并将该应用程序公开给外部,就像 graphql-engine 如何通过 Caddy 公开一样(/etc/hasura/Caddyfile
中的配置。
但是,如果您想从计算机内部连接到 postgres,请将端口映射添加到 docker-compose 文件:
postgres:
image: postgres:10.5
restart: always
volumes:
- db_data:/var/lib/postgresql/data
ports:
- "127.0.0.1:5432:5432"
现在,Postgres将在postgres://postgres:@127.0.0.1:5432/postgres
如果要在主机上公开密码,请设置密码。