Files
nahodka-back/docker-compose.yaml
2026-09-29 01:03:54 +03:00

75 lines
1.9 KiB
YAML

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: