feat(compose): cloud-emulators stack — MinIO + LocalStack v3 + Azurite (deployed on lattepanda)
This commit is contained in:
parent
8e5ba6ba93
commit
b6f0baac7d
1 changed files with 70 additions and 0 deletions
70
docs/compose/cloud-emulators.yml
Normal file
70
docs/compose/cloud-emulators.yml
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
# cloud-emulators.yml — self-hosted cloud dev stack
|
||||
#
|
||||
# Deployed on lattepanda (192.168.0.40), docker compose:
|
||||
# docker compose -f /opt/cloud-emulators/cloud-emulators.yml up -d
|
||||
#
|
||||
# Services:
|
||||
# MinIO S3-compatible object store API :9000 Console :9001
|
||||
# LocalStack AWS emulator (IAM/SQS/S3/…) edge :4566
|
||||
# Azurite Azure Storage emulator blob :10000 queue :10001 table :10002
|
||||
#
|
||||
# Credentials live in Vaultwarden (self-hosted first policy).
|
||||
# See docs/guides/selfhosted/cloud-emulators.md for CLI wiring.
|
||||
|
||||
name: cloud-emulators
|
||||
|
||||
services:
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: minio
|
||||
restart: unless-stopped
|
||||
command: server /data --console-address ":9001"
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001"
|
||||
environment:
|
||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
|
||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:?set MINIO_ROOT_PASSWORD in .env}
|
||||
volumes:
|
||||
- minio-data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "mc", "ready", "local"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
localstack:
|
||||
image: localstack/localstack:3 # v3 community (latest/2026+ demands LOCALSTACK_AUTH_TOKEN)
|
||||
container_name: localstack
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "4566:4566"
|
||||
environment:
|
||||
SERVICES: s3,sqs,sns,iam,lambda,logs,cloudwatch,ssm,secretsmanager,dynamodb,iot
|
||||
DEFAULT_REGION: eu-west-1
|
||||
PERSISTENCE: "1"
|
||||
volumes:
|
||||
- localstack-data:/var/lib/localstack
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-sf", "http://localhost:4566/_localstack/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
azurite:
|
||||
image: mcr.microsoft.com/azure-storage/azurite:latest
|
||||
container_name: azurite
|
||||
restart: unless-stopped
|
||||
command: azurite --blobHost 0.0.0.0 --queueHost 0.0.0.0 --tableHost 0.0.0.0 --location /data
|
||||
ports:
|
||||
- "10000:10000"
|
||||
- "10001:10001"
|
||||
- "10002:10002"
|
||||
volumes:
|
||||
- azurite-data:/data
|
||||
|
||||
volumes:
|
||||
minio-data:
|
||||
localstack-data:
|
||||
azurite-data:
|
||||
Loading…
Reference in a new issue