services: postgres: image: postgres:15 environment: POSTGRES_DB: nahodka POSTGRES_USER: user POSTGRES_PASSWORD: pass ports: - "5432:5432" redis: image: redis:7-alpine command: > redis-server --requirepass ${REDIS_PASSWORD:?задайте REDIS_PASSWORD в .env} --maxmemory 256mb --maxmemory-policy volatile-lru --save "" --appendonly no environment: REDISCLI_AUTH: ${REDIS_PASSWORD} # чтобы healthcheck не светил пароль в аргументах ports: - "127.0.0.1:6379:6379" healthcheck: test: [ "CMD", "redis-cli", "ping" ] interval: 10s timeout: 3s retries: 5 minio: image: quay.io/minio/minio:RELEASE.2024-04-18T19-09-19Z container_name: minio-example command: server /data --address ":9010" --console-address ":9011" restart: unless-stopped environment: MINIO_ACCESS_KEY: admin MINIO_SECRET_KEY: admin123 ports: - "9010:9010" # API port - "9011:9011" # Console port volumes: - minio-data:/data healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9010/minio/health/live"] interval: 5s timeout: 3s retries: 10 deploy: resources: limits: memory: 1024m logging: driver: json-file options: max-size: "10m" max-file: "5" mc-init: image: quay.io/minio/mc:latest depends_on: minio: condition: service_healthy volumes: - ./minio/cors.json:/cors.json:ro entrypoint: > /bin/sh -c " mc alias set local http://minio:9010 admin admin123 && mc mb --ignore-existing local/ads-media && mc mb --ignore-existing local/refound-images && mc cors set local/ads-media /cors.json && echo 'MinIO buckets and CORS configured successfully' " restart: "no" volumes: minio-data: