services:
  minio:
    image: minio/minio
    environment:
      - MINIO_ROOT_USER=topsecret
      - MINIO_ROOT_PASSWORD=topsecret
    volumes:
    - ./storage/minio:/data
    command: ["minio", "server", "/data", "--console-address", ":9090"]
    ports:
      - 9000:9000
      - 9090:9090
    expose:
    - 9000

  db:
    image: postgres
    ports:
      - "5432:5432"
    expose:
      - 5432
    environment:
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=pass
      - POSTGRES_DB=geneit
    volumes:
      - ./storage/db:/var/lib/postgresql/data
  
  mailcatcher:
    image: dockage/mailcatcher:0.9.0
    ports:
      - 1080:1080
      - 1025:1025

  redis:
    image: redis:alpine
    command: redis-server --requirepass ${REDIS_PASS:-secretredis}
    ports:
      - 6379:6379
    volumes:
      - ./storage/redis-data:/data
      - ./storage/redis-conf:/usr/local/etc/redis/redis.conf
  
  oidc:
    image: qlik/simple-oidc-provider
    environment:
    - REDIRECTS=http://localhost:3000/oidc_cb
    - PORT=9001
    ports:
    - 9001:9001