winofy-backend/docker-compose.yml
Ali Asadi c4f15d9c80 Integrate MinIO for media storage
Swaps default media storage from local FileSystemStorage to MinIO via
django-minio-backend, matching the rest of the Winsoo ecosystem
(advertising, campaign, wallet). Points at a local MinIO container
(added to docker-compose.yml) by default since no shared bucket is
provisioned yet. Existing ImageFields pick up the new storage backend
automatically — no model changes needed.

Verified against a live local MinIO container: bucket auto-creates on
first save, object lands under the expected key, URL resolves.
2026-08-17 18:01:29 +03:30

67 lines
1.2 KiB
YAML

version: '3.8'
services:
winofy:
build: .
ports:
- "8000:8000"
env_file:
- .env
volumes:
- ./logs:/app/log
depends_on:
- db
- redis
- minio
networks:
- app
- monitoring
db:
image: postgis/postgis:16-3.4
environment:
POSTGRES_DB: ${DB_NAME}
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- pgdata:/var/lib/postgresql/data
networks:
- app
redis:
image: redis:7-alpine
networks:
- app
minio:
image: minio/minio:latest
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: ${MINIO_ACCESS_KEY:-minioadmin}
MINIO_ROOT_PASSWORD: ${MINIO_SECRET_KEY:-minioadmin}
ports:
- "9000:9000"
- "9001:9001"
volumes:
- miniodata:/data
networks:
- app
promtail:
image: grafana/promtail:2.8.0
volumes:
- ./promtail-config.yaml:/etc/promtail/config.yaml
- ./logs:/var/log/django
command: -config.file=/etc/promtail/config.yaml
networks:
- monitoring
volumes:
pgdata:
miniodata:
networks:
app:
driver: bridge
monitoring:
driver: bridge