Skip to content

Instantly share code, notes, and snippets.

@brunocmorais
Last active June 5, 2023 16:35
Show Gist options
  • Select an option

  • Save brunocmorais/1b4963975634ea40d243b9d92cf63801 to your computer and use it in GitHub Desktop.

Select an option

Save brunocmorais/1b4963975634ea40d243b9d92cf63801 to your computer and use it in GitHub Desktop.
Useful docker-compose files!

Useful docker-compose files

Find here some very useful docker-compose.yml files below, are they:

  • Elasticsearch/Kibana
  • RabbitMQ Management
  • MySQL
  • PostgreSQL
  • Redis
  • Nginx
  • MongoDB
  • Grafana
  • Hangfire
  • Konga/Kong
  • Rancher

Enjoy!

version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.1
container_name: elasticsearch
environment:
- discovery.type=single-node
ports:
- 9200:9200
volumes:
- elasticsearch_data:/usr/share/elasticsearch/data
networks:
- elastic_network
kibana:
image: docker.elastic.co/kibana/kibana:7.12.1
container_name: kibana
ports:
- 5601:5601
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
depends_on:
- elasticsearch
networks:
- elastic_network
networks:
elastic_network:
volumes:
elasticsearch_data:
version: '3'
services:
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- 3000:3000
volumes:
- grafana_data:/var/lib/grafana
networks:
- grafana_network
networks:
grafana_network:
volumes:
grafana_data:
version: '3'
services:
hangfire:
image: hangfire/hangfire:latest
container_name: hangfire
ports:
- 5000:5000
environment:
- Hangfire:Dashboard:Authorization:Enabled=false
- Hangfire:Dashboard:StatsPollingInterval=5000
- Hangfire:Dashboard:Title=Hangfire Dashboard
- Hangfire:Dashboard:Username=admin
- Hangfire:Dashboard:Password=adminpassword
- Hangfire:Storage:Type=Redis
- Hangfire:Storage:Redis:ConnectionString=redis:6379
depends_on:
- redis
redis:
image: redis:latest
container_name: redis
ports:
- 6379:6379
version: '3'
services:
konga:
image: pantsel/konga
container_name: konga
ports:
- 1337:1337
environment:
- DB_ADAPTER=postgres
- DB_HOST=konga-database
- DB_PORT=5432
- DB_USER=konga
- DB_PASSWORD=konga
- DB_DATABASE=konga
depends_on:
- konga-database
- kong
kong:
image: kong:latest
container_name: kong
ports:
- 8000:8000
- 8443:8443
- 8001:8001
- 8444:8444
environment:
- KONG_DATABASE=postgres
- KONG_PG_HOST=kong-database
- KONG_PG_PORT=5432
- KONG_PG_USER=kong
- KONG_PG_PASSWORD=kong
- KONG_PG_DATABASE=kong
- KONG_PROXY_ACCESS_LOG=/dev/stdout
- KONG_ADMIN_ACCESS_LOG=/dev/stdout
- KONG_PROXY_ERROR_LOG=/dev/stderr
- KONG_ADMIN_ERROR_LOG=/dev/stderr
depends_on:
- kong-database
kong-database:
image: postgres:13
container_name: kong-database
environment:
- POSTGRES_USER=kong
- POSTGRES_PASSWORD=kong
- POSTGRES_DB=kong
volumes:
- kong_data:/var/lib/postgresql/data
volumes:
kong_data:
version: '3'
services:
mongodb:
image: mongo:latest
container_name: mongodb
ports:
- 27017:27017
volumes:
- mongodb_data:/data/db
networks:
- mongodb_network
networks:
mongodb_network:
volumes:
mongodb_data:
version: '3'
services:
mysql:
image: mysql:8.0
container_name: mysql
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=password
volumes:
- mysql_data:/var/lib/mysql
networks:
- mysql_network
networks:
mysql_network:
volumes:
mysql_data:
version: '3'
services:
nginx:
image: nginx:latest
container_name: nginx
ports:
- 80:80
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./html:/usr/share/nginx/html
networks:
- nginx_network
networks:
nginx_network:
version: '3'
services:
postgres:
image: postgres:13
container_name: postgres
ports:
- 5432:5432
environment:
- POSTGRES_USER=username
- POSTGRES_PASSWORD=password
- POSTGRES_DB=database
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- postgres_network
networks:
postgres_network:
volumes:
postgres_data:
version: '3'
services:
rabbitmq:
image: rabbitmq:3.9.7-management
container_name: rabbitmq
ports:
- 5672:5672
- 15672:15672
volumes:
- rabbitmq_data:/var/lib/rabbitmq
networks:
- rabbitmq_network
networks:
rabbitmq_network:
volumes:
rabbitmq_data:
version: '3'
services:
rancher:
image: rancher/rancher:latest
restart: always
ports:
- 80:80/
- 443:443
volumes:
- rancher-data:/var/lib/rancher
privileged: true
volumes:
rancher-data:
version: '3'
services:
redis:
image: redis:6
container_name: redis
ports:
- 6379:6379
networks:
- redis_network
networks:
redis_network:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment