networks:
  intern:
  web:
    external: true
services:
  kuvia:
    image: kekskurse/kuvia
    networks:
      - web
      - intern
    environment:
      DB_MIGRATION: "user:password@tcp(db:3306)/dbname?multiStatements=true"
      DB_CONNECTION: "user:password@tcp(db:3306)/dbname?multiStatements=true"
      S3_HOST: "s3:9000"
      S3_ID: "example"
      S3_SECRET: "password"
      S3_TOKEN: ""
      S3_BUCKET: "img"
      REDIS_HORST: "redis:6379"
      REDIS_DB: 0
    links:
      - db
      - redis
      - s3
    labels:
      - traefik.enable=true
      - traefik.http.routers.kuvia-beta.rule=Host("beta.kuvia.cloud")
      - traefik.http.routers.kuvia-beta.tls=true
      - traefik.http.routers.kuvia-beta.tls.certresolver=le
      - traefik.http.services.kuvia-beta.loadbalancer.server.port=2830
      - traefik.docker.network=web
  db:
    image: mariadb
    networks:
      - intern
    environment:
      MARIADB_ROOT_PASSWORD: example
      MARIADB_DATABASE: dbname
      MARIADB_USER: user
      MARIADB_PASSWORD: password
    volumes:
    - ./hdd-mysql:/var/lib/mysql
  redis:
    image: redis
    networks:
      - intern
  s3:
    image: quay.io/minio/minio
    networks:
      - intern
    environment:
      MINIO_ROOT_USER: example
      MINIO_ROOT_PASSWORD: password
    volumes:
    - ./hdd-s3:/data
    command: server /data --console-address ":9001"