Skip to content

Instantly share code, notes, and snippets.

@jjsquady
Last active August 15, 2023 01:51
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 jjsquady/db5b5d31f4a33fdc166d948b51aedcca to your computer and use it in GitHub Desktop.
Save jjsquady/db5b5d31f4a33fdc166d948b51aedcca to your computer and use it in GitHub Desktop.
Laravel Stack - MySQL + Redis + Mellisearch + Minio + Mailhog + RabbitMQ + PostgreSQL + MongoDB + Mongo Express
# For more information: https://laravel.com/docs/sail
version: '3.9'
services:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: admin
ports:
- '${MONGO_DB_PORT:-27017}:27017'
volumes:
- 'mongodb:/data/db'
mongo-express:
image: mongo-express
restart: always
ports:
- '${MONGOEXPRESS_PORT:-18081}:8081'
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: admin
ME_CONFIG_MONGODB_ADMINPASSWORD: admin
ME_CONFIG_MONGODB_URL: mongodb://admin:admin@mongo:27017
postgres:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: '${PGSQL_DB_PASSWORD:-postgres}'
ports:
- '${PGSQL_DB_PORT:-5432}:5432'
volumes:
- 'postgresql:/var/lib/postgresql'
mysql:
image: 'mysql:8.0'
ports:
- '${MYSQL_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${MYSQL_ROOT_PASSWORD:-}'
MYSQL_DATABASE: '${MYSQL_DB_DATABASE:-mysqldocker}'
MYSQL_USER: '${MYSQL_DB_USERNAME:-mysqldocker}'
MYSQL_PASSWORD: '${MYSQL_DB_PASSWORD:-password}'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
- 'mysql:/var/lib/mysql'
healthcheck:
test: [ "CMD", "mysqladmin", "ping", "-p${MYSQL_DB_PASSWORD:-password}" ]
retries: 3
timeout: 5s
redis:
image: 'redis:alpine'
ports:
- '${FORWARD_REDIS_PORT:-6379}:6379'
volumes:
- 'redis:/data'
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
retries: 3
timeout: 5s
meilisearch:
image: 'getmeili/meilisearch:latest'
ports:
- '${FORWARD_MEILISEARCH_PORT:-7700}:7700'
volumes:
- 'meilisearch:/data.ms'
mailhog:
image: 'mailhog/mailhog:latest'
ports:
- '${FORWARD_MAILHOG_PORT:-1025}:1025'
- '${FORWARD_MAILHOG_DASHBOARD_PORT:-8025}:8025'
minio:
image: 'minio/minio:latest'
ports:
- '${FORWARD_MINIO_PORT:-9900}:9000'
environment:
MINIO_ROOT_USER: '${MINIO_ROOT_USER:-minio}'
MINIO_ROOT_PASSWORD: '${MINIO_ROOT_PASSWORD:-password}'
volumes:
- 'minio:/data/minio'
command: minio server /data/minio
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
retries: 3
timeout: 5s
rabbitmq:
image: 'rabbitmq:3-management'
ports:
- '${FORWARD_RABBITMQ_WEB_PORT:-15672}:15672'
- '${FORWARD_RABBITMQ_PORT:-15671}:15671'
- '${FORWARD_RABBITMQ_5691_PORT:-15691}:15691'
- '${FORWARD_RABBITMQ_5692_PORT:-15692}:15692'
- '${FORWARD_RABBITMQ_25672_PORT:-25672}:25672'
- '${FORWARD_RABBITMQ_4369_PORT:-4369}:4369'
- '${FORWARD_RABBITMQ_5671_PORT:-5671}:5671'
- '${FORWARD_RABBITMQ_5672_PORT:-5672}:5672'
environment:
RABBITMQ_DEFAULT_USER: '${RABBITMQ_DEFAULT_USER:-admin}'
RABBITMQ_DEFAULT_PASS: '${RABBITMQ_DEFAULT_PASS:-password}'
volumes:
mongodb:
driver: local
postgresql:
driver: local
mysql:
driver: local
redis:
driver: local
meilisearch:
driver: local
minio:
driver: local
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment