The smokesignal.events web application
at main 82 lines 2.1 kB view raw
1version: '3.8' 2 3services: 4 postgres: 5 image: postgres:17-alpine 6 container_name: smokesignal_postgres 7 environment: 8 POSTGRES_DB: smokesignal_dev 9 POSTGRES_USER: smokesignal 10 POSTGRES_PASSWORD: smokesignal_dev_password 11 POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C" 12 ports: 13 - "5436:5432" # Using 5433 to avoid conflicts with system PostgreSQL 14 volumes: 15 - postgres_data:/var/lib/postgresql/data 16 - ./init-db.sql:/docker-entrypoint-initdb.d/init-db.sql:ro 17 healthcheck: 18 test: ["CMD-SHELL", "pg_isready -U smokesignal -d smokesignal_dev"] 19 interval: 5s 20 timeout: 5s 21 retries: 5 22 restart: unless-stopped 23 24 minio: 25 image: minio/minio:latest 26 container_name: smokesignal_minio 27 command: server /data --console-address ":9001" 28 environment: 29 MINIO_ROOT_USER: smokesignal_minio 30 MINIO_ROOT_PASSWORD: smokesignal_dev_secret 31 ports: 32 - "9000:9000" # MinIO API 33 - "9001:9001" # MinIO Console 34 volumes: 35 - minio_data:/data 36 healthcheck: 37 test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] 38 interval: 30s 39 timeout: 20s 40 retries: 3 41 restart: unless-stopped 42 43 createbuckets: 44 image: minio/mc 45 depends_on: 46 - minio 47 entrypoint: > 48 /bin/sh -c " 49 /usr/bin/mc mc alias set local http://localhost:9000 smokesignal_minio smokesignal_dev_secret; 50 /usr/bin/mc mb myminio/smokesignal-badges; 51 /usr/bin/mc policy set public myminio/smokesignal-badges; 52 exit 0; 53 " 54 55 redis: 56 image: redis:7-alpine 57 container_name: smokesignal_redis 58 ports: 59 - "6379:6379" 60 volumes: 61 - redis_data:/data 62 command: redis-server --appendonly yes 63 healthcheck: 64 test: ["CMD", "redis-cli", "ping"] 65 interval: 5s 66 timeout: 3s 67 retries: 5 68 restart: unless-stopped 69 70volumes: 71 minio_data: 72 driver: local 73 postgres_data: 74 driver: local 75 pgadmin_data: 76 driver: local 77 redis_data: 78 driver: local 79 80networks: 81 default: 82 name: smokesignal_network