Skip to content

Instantly share code, notes, and snippets.

@krishnakummar
Created November 17, 2018 09:16
Show Gist options
  • Save krishnakummar/bcfa822f18e9a6d8610395da2a5dfb97 to your computer and use it in GitHub Desktop.
Save krishnakummar/bcfa822f18e9a6d8610395da2a5dfb97 to your computer and use it in GitHub Desktop.
Sample docker compose for SaaS
version: '3.4'
services:
rabbitmq:
image: rabbitmq:3-management
ports:
- "15672:15672"
- "5672:5672"
deploy:
replicas: 1
placement:
constraints: [node.role == manager]
microservice:
image: nameko-microservice
restart: always
deploy:
replicas: 1
depends_on:
- rabbitmq
- logstash
db:
image: mariadb:10.3
volumes:
- ./mysqldb_data:/var/lib/mysql
ports:
- "3306:3306"
deploy:
replicas: 1
placement:
constraints: [node.role == manager]
resources:
reservations:
memory: 128M
limits:
memory: 256M
restapi:
image: restapi
restart: always
ports:
- "8000:8000"
deploy:
mode: global
depends_on:
- db
- microservice
- logstash
nginx:
image: ui
restart: always
ports:
- "80:80"
deploy:
replicas: 1
depends_on:
- restapi
elasticsearch:
image: elasticsearch:2
command: elasticsearch -Des.network.host=0.0.0.0
ports:
- "9200:9200"
- "9300:9300"
kibana:
image: kibana:latest
build: kibana/
volumes:
- ./kibana/config/:/opt/kibana/config/
ports:
- "5601:5601"
depends_on:
- elasticsearch
logstash:
build: logstash/
command: logstash -f /etc/logstash/conf.d/logstash.conf
image: logstash:latest
volumes:
- ./logstash/config:/etc/logstash/conf.d
ports:
- "5000:5000"
depends_on:
- elasticsearch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment