{"id":19437446,"url":"https://github.com/omfdydx/docker-compose-dydx","last_synced_at":"2025-07-19T08:32:24.965Z","repository":{"id":215820210,"uuid":"738962533","full_name":"omfdydx/docker-compose-dydx","owner":"omfdydx","description":"Making docker based infrastructure simple","archived":false,"fork":false,"pushed_at":"2024-09-16T06:02:56.000Z","size":65,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-24T21:51:45.841Z","etag":null,"topics":["docker","docker-compose","dotenv","dotfiles","elasticsearch","infrastructure","kafka","linux","mongodb","postgresql","redis","taskfile"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omfdydx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-04T13:03:01.000Z","updated_at":"2025-01-08T07:04:20.000Z","dependencies_parsed_at":"2024-08-11T17:08:47.417Z","dependency_job_id":null,"html_url":"https://github.com/omfdydx/docker-compose-dydx","commit_stats":null,"previous_names":["omfdydx/docker","omfdydx/docker-compose-dydx"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/omfdydx/docker-compose-dydx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omfdydx%2Fdocker-compose-dydx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omfdydx%2Fdocker-compose-dydx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omfdydx%2Fdocker-compose-dydx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omfdydx%2Fdocker-compose-dydx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omfdydx","download_url":"https://codeload.github.com/omfdydx/docker-compose-dydx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omfdydx%2Fdocker-compose-dydx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265904769,"owners_count":23846690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","dotenv","dotfiles","elasticsearch","infrastructure","kafka","linux","mongodb","postgresql","redis","taskfile"],"created_at":"2024-11-10T15:14:39.024Z","updated_at":"2025-07-19T08:32:24.937Z","avatar_url":"https://github.com/omfdydx.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"![visitors](https://visitor-badge.laobi.icu/badge?page_id=omfdydx.docker-compose-dydx)\n\n# Docker Compose Dy-by-Dx !\n\n\n![alt text](https://i.imgur.com/6mSCz9P.png \"KISS\")\n\n**KISS** - _Keeping Infra Simple Stupid_  \n\nCreate the daily used services / infrastructure for development in a single compose which\nare configurable. \n- Regular Used Services for my works\n- Fully configurable in terms of \n  - **ENV** variables\n  - **Docker Networks**\n  - **Docker Volumes**\n\n```\nExamples\n\na. Start all services\n  \u003etask all\n\nb. Start only Mongodb\n  \u003etask mongodb-up\n\nc. Watch Mongo Logs\n  \u003etask mongodb-logs\n\nd. Shutdown all services \u0026 clean up\n  \u003etask shutdown\n....\n...\n..\n.\nAnd so on !!\nThis way any combination of services can be Started | Stopped | Monitored | Restarting\nas per the Project Dev is working on currently\n\n\nNote: To leverage simple commands for start/stop/logs install Go and Taskfile \nas per the instructions\nhttps://taskfile.dev/installation/\n```  \n\n| Service         | Type                  | Configured | \n|-----------------|-----------------------|------------|\n | *MongoDB*       | `Database`            | **Y**      |\n | *Emqx*          | `MQTT Broker`         | **Y**      |\n | *Elasticsearch* | `Database`            | **Y**      |\n | *Kibana*        | `Analytics Dashboard` | **Y**      |\n | *PostgresQl*    | `Database`            | **Y**      |\n | *Redis*         | `Cache`               | **Y**      |\n | *Kafka*         | `Broker`              | **Y**      |\n | *Simple Kafka*  | `Broker`              | **Y**      | \n | *RabbitMQ*      | `Broker`              | **Y**      |\n\n----\n## Includes \n`1. MongoDb`\n\n_Copy the **env.mongodb.sample** file to _env.mongodb_ \u0026 set your own **credentials**_ \n\n```cp .env.mongodb.sample .env.mongodb``` \n\n###### Configurations\n    a.MONGO_VERSION\n    b.MONGO_VOLUME_NAME\n    c.DOCKER_NETWORK\n    d.ENVIRONMENT VARIABLES = .env.mongodb \n\n```bash\n  \u003etask mongodb-up\n  \u003etask mongodb-logs\n  \u003etask mongodb-down\n```\n\n--------\n--------\n\n`2. Emqx` \n\n_Copy the **env.emqx.sample** file to _env.emqx_ \u0026 set your own **credentials**_\n\n```cp .env.emqx.sample .env.emqx```\n###### Configurations\n    a. EMQX_VERSION\n    b. EMQX_VOLUME_NAME\n    c. EMQX_CONTAINER_NAME\n    d. EMQX_TCP_DEFAULT\n    e. EMQX_DASHBOARD_DEFAULT\n    f. ENVIRONMENT VARIABLES = .env.emqx\n\n```bash\n  \u003etask emqx-up\n  \u003etask emqx-logs\n  \u003etask emqx-down\n```\n--------\n--------\n`3. ElasticSearch`\n\n_Copy the **env.elasticsearch.sample** file to _env.elasticsearch_ \u0026 set your own **credentials**_\n\n```cp .env.elasticsearch.sample .env.elasticsearch```\n\n```bash\nStep 1: \u003etask elasticsearch-setup\n\n**Wait for the configuration to successfully exit \nfor passwords \u0026 certificates to be set properly**\n\n\n\n  \u003etask elasticsearch-up\n  \u003etask elasticsearch-logs\n  \u003etask elasticsearch-down\n  \n#  ------------------------------ Check elastic is working --------------------------- \n  docker cp omfdydx-elasticsearch:/usr/share/elasticsearch/config/certs/ca/ca.crt /tmp/.\n  curl --cacert /tmp/ca.crt -u elastic:elasticpasswd https://localhost:3200\n# -------------------------------------------------------------------------------------\n\n```\n###### Configurations\n    a. ELASTICSEARCH_VERSION\n    b. ELASTICSEARCH_VOLUME_NAME\n    c. ELASTICSEARCH_CERTS_VOLUME_NAME\n    d. KIBANA_VOLUME_NAME\n    e. ELASTICSEARCH_TCP_DEFAULT ....et al\n    f. ENVIRONMENT VARIABLES = .env.elasticsearch\n--------\n--------\n\n`4. Kibana`\n```bash\n- It is configured via the elasticsearch env. Nothing else to do\n\n  \u003etask kibana-up\n  \u003etask kibana-logs\n  \u003etask kibana-down\n\n```\n--------\n--------\n\n`5. Postgresql`\n\n_Copy the **env.postgresql.sample** file to _env.postgresql_ \u0026 set your own **credentials**_\n\n```cp .env.postgresql.sample .env.postgresql```\n###### Configurations\n    a. POSTGRESQL_VERSION\n    b. POSTGRESQL_VOLUME_NAME\n    c. POSTGRESQL_CONTAINER_NAME\n    d. POSTGRESQL_TCP_DEFAULT\n    e. POSTGRESQL_TCP\n    f. ENVIRONMENT VARIABLES = .env.postgresql\n\n```bash\n  \u003etask postgresql-up\n  \u003etask postgresql-logs\n  \u003etask postgresql-down\n```\n--------\n--------\n\n`6. Redis`\n\n_Copy the **env.redis.sample** file to _env.redis_ \u0026 set your own **credentials**_\n\n```cp .env.redis.sample .env.redis```\n###### Configurations\n    a. REDIS_VERSION\n    b. REDIS_VOLUME_NAME\n    c. REDIS_CONTAINER_NAME\n    d. REDIS_TCP_DEFAULT\n    e. REDIS_TCP\n    f. ENVIRONMENT VARIABLES = .env.redis\n\n```bash\n  \u003etask redis-up\n  \u003etask redis-logs\n  \u003etask redis-down\n  \u003etask redis-restart\n```\n--------\n--------\n`7. Kafka`\n\n###### To set up the certificates for secure connections with clients. Kafka setup uses [Kraft]() rather [zookeeper]()\n\n```bash\ncd scripts \u0026\u0026 bash create-certs.sh\n# Generates the secrets folder with \n# - certs, \n# - keystore, \n# - truststore, \n# - pem[Connecting to Kafka via non-Java clients] \n# - clients.properties\n```\n\n_Copy the **env.kafka.sample** file to _env.kafka_ \u0026 set your own **credentials**_\n\n```cp .env.kafka.sample .env.kafka```\n###### Configurations\n    a. KAFKA_VERSION\n    b. KAFKA_ZOOKEEPER_TLS_PASSWORD\n    c. NON_JAVA_CLIENT_GENERATE_PEM\n    d. KAFKA_CONTAINER_NAME\n    e. KAFKA_VOLUME_NAME\n    f. ENVIRONMENT VARIABLES = .env.kafka\n\n```bash\n  \u003etask kafka-up\n  \u003etask kafka-logs\n  \u003etask kafka-down\n```\n\n```bash\n#Checking the consumers can connect via SSL/TLS\n# Get into the container 1. producer 2. consumer\ndocker exec -it omfdydx-kafka bash\n\n# 1. Inside the container **9095** SSL/TLS listener\ncd /opt/bitnami/kafka/bin/\n./kafka-topics.sh --bootstrap-server kafka:9095 --create --topic inventory \\ \n --partitions 3 --command-config /opt/bitnami/kafka/config/client.properties\n \u003e hello: world, good: bye\n\n# 2. Check the consumer\ncd /opt/bitnami/kafka/bin/\n./kafka-console-consumer.sh --bootstrap-server kafka:9095 \\\n--topic inventory --consumer.config /opt/bitnami/kafka/config/client.properties --from-beginning\n \n# 3. List the topics\n ./kafka-topics.sh --list --command-config /opt/bitnami/kafka/config/client.properties \\\n  --bootstrap-server kafka:9095\n```\n\n------\n------\n`8. Simple Kafka - No Auth \u0026 Certs - Single Node`\n\n_Copy the **env.safka.sample** file to _env.safka_ \u0026 set your own **credentials**_\n\n```cp .env.safka.sample .env.safka```\n###### Configurations\n    a. SAFKA_VOLUME_NAME\n    b. SAFKA_CONTAINER_NAME\n    c. SAFKA_PORT\n    d. SAFKA_PORT_DEFAULT\n    f. ENVIRONMENT VARIABLES = .env.safka\n\n```bash\n  \u003etask safka-up\n  \u003etask safka-logs\n  \u003etask safka-down\n```\n\n\n`8. RabbitMQ`\n\n_Copy the **env.rabbitmq.sample** file to _env.rabbitmq_ \u0026 set your own **credentials**_\n\n```cp .env.rabbitmq.sample .env.rabbitmq```\n###### Configurations\n    a. RABBITMQ_VOLUME_NAME\n    b. RABBITMQ_CONTAINER_NAME\n    c. RABBITMQ_PORT\n    d. RABBITMQ_PORT_DEFAULT\n    f. ENVIRONMENT VARIABLES = .env.rabbitmq\n\n```bash\n  \u003etask rabbitmq-up\n  \u003etask rabbitmq-logs\n  \u003etask rabbitmq-down\n  \u003etask rabbitmq-restart\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomfdydx%2Fdocker-compose-dydx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomfdydx%2Fdocker-compose-dydx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomfdydx%2Fdocker-compose-dydx/lists"}