Skip to content

Instantly share code, notes, and snippets.

@jl91
Forked from mikkelkrogsholm/docker-compose.yml
Created January 8, 2019 15:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jl91/48b5efc8b48c8922a5798cd7423d72e3 to your computer and use it in GitHub Desktop.
Save jl91/48b5efc8b48c8922a5798cd7423d72e3 to your computer and use it in GitHub Desktop.
docker-compose for kong, konga and elastic
version: "3"
networks:
kong-net:
driver: bridge
services:
#######################################
# Postgres: The database used by Kong
#######################################
kong-database:
image: postgres:11
restart: always
networks:
- kong-net
environment:
POSTGRES_USER: kong
POSTGRES_DB: kong
# ports:
# - "5432:5432"
expose:
- 5432
healthcheck:
test: ["CMD", "pg_isready", "-U", "kong"]
interval: 5s
timeout: 5s
retries: 5
#######################################
# Kong database migration
#######################################
kong-migration:
image: kong:0.14
command: "kong migrations up"
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:0.14
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:0.13.0
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:0.13.0
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"
#######################################
# Elastic: Set up an elastic docker behind Kong
#######################################
elastic:
container_name: elastic
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
restart: always
networks:
- kong-net
environment:
- "discovery.type=single-node"
#######################################
# Rstudio for having a nice IDE
#######################################
rstudio:
image: rocker/tidyverse:3.5.0
container_name: rstudio
restart: always
networks:
- kong-net
ports:
- "8787:8787"
volumes:
- ./rstudio:/home/mikkel
environment:
- USER=user1
- PASSWORD=user1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment