Last active
October 10, 2024 12:50
-
-
Save pantsel/73d949774bd8e917bfd3d9745d71febf to your computer and use it in GitHub Desktop.
example docker-compose.yml for kong, postgres and konga
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3" | |
networks: | |
kong-net: | |
driver: bridge | |
services: | |
####################################### | |
# Postgres: The database used by Kong | |
####################################### | |
kong-database: | |
image: postgres:9.6 | |
restart: always | |
networks: | |
- kong-net | |
environment: | |
POSTGRES_USER: kong | |
POSTGRES_DB: kong | |
ports: | |
- "5432:5432" | |
healthcheck: | |
test: ["CMD", "pg_isready", "-U", "kong"] | |
interval: 5s | |
timeout: 5s | |
retries: 5 | |
####################################### | |
# Kong database migration | |
####################################### | |
kong-migration: | |
image: kong:latest | |
command: "kong migrations bootstrap" | |
networks: | |
- kong-net | |
restart: on-failure | |
environment: | |
KONG_PG_HOST: kong-database | |
links: | |
- kong-database | |
depends_on: | |
- kong-database | |
####################################### | |
# Kong: The API Gateway | |
####################################### | |
kong: | |
image: kong:latest | |
restart: always | |
networks: | |
- kong-net | |
environment: | |
KONG_PG_HOST: kong-database | |
KONG_PROXY_LISTEN: 0.0.0.0:8000 | |
KONG_PROXY_LISTEN_SSL: 0.0.0.0:8443 | |
KONG_ADMIN_LISTEN: 0.0.0.0:8001 | |
depends_on: | |
- kong-migration | |
- kong-database | |
healthcheck: | |
test: ["CMD", "curl", "-f", "http://kong:8001"] | |
interval: 5s | |
timeout: 2s | |
retries: 15 | |
ports: | |
- "8001:8001" | |
- "8000:8000" | |
####################################### | |
# Konga database prepare | |
####################################### | |
konga-prepare: | |
image: pantsel/konga:next | |
command: "-c prepare -a postgres -u postgresql://kong@kong-database:5432/konga_db" | |
networks: | |
- kong-net | |
restart: on-failure | |
links: | |
- kong-database | |
depends_on: | |
- kong-database | |
####################################### | |
# Konga: Kong GUI | |
####################################### | |
konga: | |
image: pantsel/konga:next | |
restart: always | |
networks: | |
- kong-net | |
environment: | |
DB_ADAPTER: postgres | |
DB_HOST: kong-database | |
DB_USER: kong | |
TOKEN_SECRET: km1GUr4RkcQD7DewhJPNXrCuZwcKmqjb | |
DB_DATABASE: konga_db | |
NODE_ENV: production | |
depends_on: | |
- kong-database | |
ports: | |
- "1337:1337" |
LincWong
commented
Aug 23, 2022
via email
你好,我已经收到你的邮件了。
Because postgres always require DB_PASSWORD
To get konga-prepare to work, I had to include the db password in the connection string in the format username:password -
command: "-c prepare -a postgres -u postgresql://kong:kong@kong-database:5432/konga_db"
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment