name: im-admin-local services: mysql: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:?Run Initialize-Local.ps1 first} MYSQL_DATABASE: im_local MYSQL_USER: im_local MYSQL_PASSWORD: ${MYSQL_PASSWORD:?Run Initialize-Local.ps1 first} ports: ["127.0.0.1:13306:3306"] volumes: ["mysql:/var/lib/mysql"] healthcheck: test: ["CMD-SHELL", "MYSQL_PWD=$$MYSQL_PASSWORD mysql -u im_local -e 'SELECT 1' im_local"] interval: 3s timeout: 3s retries: 40 redis: image: redis:7-alpine ports: ["127.0.0.1:16379:6379"] command: redis-server --appendonly yes volumes: ["redis:/data"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 3s timeout: 3s retries: 20 rabbitmq: image: rabbitmq:3-management environment: RABBITMQ_DEFAULT_USER: im_local RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASSWORD:?Run Initialize-Local.ps1 first} ports: ["127.0.0.1:15672:5672", "127.0.0.1:15674:15672"] healthcheck: test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"] interval: 5s timeout: 5s retries: 30 consul: image: hashicorp/consul:1.20 command: agent -dev -client=0.0.0.0 ports: ["127.0.0.1:18500:8500"] minio: image: minio/minio:RELEASE.2025-04-22T22-12-26Z command: server /data --console-address :9001 environment: MINIO_ROOT_USER: im_local MINIO_ROOT_PASSWORD: ${S3_PASSWORD:?Run Initialize-Local.ps1 first} ports: ["127.0.0.1:19000:9000", "127.0.0.1:19001:9001"] volumes: ["minio:/data"] smtp: image: axllent/mailpit:v1.27 environment: MP_SMTP_TLS_CERT: /certs/smtp.crt MP_SMTP_TLS_KEY: /certs/smtp.key MP_SMTP_REQUIRE_STARTTLS: "true" ports: ["127.0.0.1:11025:1025", "127.0.0.1:18025:8025"] volumes: ["./data/certs:/certs:ro"] volumes: mysql: redis: minio: