Skip to content

Instantly share code, notes, and snippets.

@AlperRehaYAZGAN
Created March 12, 2023 16:44
Show Gist options
  • Save AlperRehaYAZGAN/2713e26ad3ae41b7c03fde5182fe3461 to your computer and use it in GitHub Desktop.
Save AlperRehaYAZGAN/2713e26ad3ae41b7c03fde5182fe3461 to your computer and use it in GitHub Desktop.
Simple docker-compose.yaml file included all development 3th party service
# simple docker-compose.yml file for local development services ready.
version: '3'
services:
# local postgresql service
local_postgresqlapp:
image: postgres:15.2-alpine
networks:
- localfnnet
ports:
- "5432:5432"
volumes:
- local_postgres:/var/lib/postgresql/data
environment:
- POSTGRES_USER=localfnuser
- POSTGRES_PASSWORD=localfnuserpassword
- POSTGRES_DB=postgres
- PGDATA=/var/lib/postgresql/data/pgdata
restart: always
healthcheck:
test: pg_isready -U "$$POSTGRES_USER" -d "$$POSTGRES_DB"
interval: 10s
timeout: 2s
retries: 10
# local pgadmin service
local_pgadminapp:
image: dpage/pgadmin4:6.21
networks:
- localfnnet
ports:
- "8080:80"
environment:
- [email protected]
- PGADMIN_DEFAULT_PASSWORD=1020304050
# local minio service
local_minioapp:
image: minio/minio:RELEASE.2023-03-09T23-16-13Z
networks:
- localfnnet
ports:
- "9000:9000"
volumes:
- local_minio:/data
environment:
- MINIO_ACCESS_KEY=minio
- MINIO_SECRET_KEY=minio123
- MINIO_BROWSER=on
restart: always
command: server /data
# local redis service
local_redisapp:
image: redis:7.0-rc3-alpine3.15
networks:
- localfnnet
ports:
- "6379:6379"
volumes:
- local_redis:/data
environment:
- REDIS_PASSWORD=1020304050
restart: always
command: redis-server --requirepass 1020304050 --dir /data
healthcheck:
test: redis-cli -h "$$HOST" -p "$$PORT" ping
interval: 10s
timeout: 2s
retries: 10
# local elastic service
local_elasticapp:
image: "docker.elastic.co/elasticsearch/elasticsearch:7.8.1"
networks:
- localfnnet
environment:
discovery.type: "single-node"
cluster.name: "cluster-1"
node.name: "node-1"
ports:
- "9200:9200"
volumes:
- local_elastic_data:/usr/share/elasticsearch/data
- local_elastic_tmp:/tmp
# local rabbitmq service
local_rabbitmqapp:
image: rabbitmq:3.10.0-rc.1-management-alpine
networks:
- localfnnet
ports:
- "5672:5672"
- "15672:15672"
environment:
- RABBITMQ_DEFAULT_USER=localfnuser
- RABBITMQ_DEFAULT_PASS=localfnuserpassword
- RABBITMQ_DEFAULT_VHOST=app_dev
restart: always
volumes:
- local_rabbitmq:/var/lib/rabbitmq
healthcheck:
test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"]
interval: 10s
timeout: 2s
retries: 10
# local zookeeper service
local_zookeeperapp:
image: 'wurstmeister/zookeeper:latest'
networks:
- localfnnet
ports:
- '2181:2181'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
volumes:
- local_zookeeper:/var/lib/zookeeper/data
# local kafka service
kafkaapp:
image: 'wurstmeister/kafka:latest'
networks:
- localfnnet
ports:
- '9092:9092'
environment:
- KAFKA_BROKER_ID=1
- KAFKA_LISTENERS=PLAINTEXT://:9092
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
- KAFKA_ZOOKEEPER_CONNECT=local_zookeeperapp:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CREATE_TOPICS=${NEEDED_TOPICS}
- KAFKA_AUTO_CREATE_TOPICS_ENABLE=true
volumes:
- local_kafka:/var/lib/kafka/data
depends_on:
- local_zookeeperapp
volumes:
local_postgres:
local_minio:
local_zookeeper:
local_kafka:
local_redis:
local_elastic_data:
local_elastic_tmp:
local_rabbitmq:
# network: localfnnet
networks:
localfnnet:
name: localfnnet
driver: bridge
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment