version: "3.4"

services:
  db:
    image: postgres:13
    environment:
      POSTGRES_PASSWORD: bad_db_passwd
      POSTGRES_USER: core_images
      POSTGRES_DB: core_images

  s3storage:
    image: minio/minio
    environment:
      MINIO_ROOT_USER: root
      MINIO_ROOT_PASSWORD: bad_root_passwd
      MINIO_ACCESS_KEY: root
      MINIO_SECRET_KEY: bad_root_passwd
    entrypoint: sh
    command: "-c 'mkdir -p /data/media && minio server /data --console-address 0.0.0.0:9090'"

  redis:
    image: redis:alpine

  test:
    env_file:
      - .env.sample
    build:
      context: .
      dockerfile: ./Dockerfile
      target: test
    depends_on:
      - redis
      - db
      - s3storage
    command: ["./wait-for-it.sh", "db:5432", "--", "python", "manage.py", "test"]
