version: "3"

# optional ports are specified throughout for more advanced use cases.

services:
  minio-service:
    restart: on-failure
    # Last version that supports the "fs" backend
    image: minio/minio:RELEASE.2022-10-24T18-35-07Z
    ports:
      - "9000"
      - "9001"
    environment:
      MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
      MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
    command: server /data --console-address ":9001"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

  couchdb-service:
    # platform: linux/amd64
    restart: on-failure
    image: budibase/couchdb
    environment:
      - COUCHDB_PASSWORD=${COUCH_DB_PASSWORD}
      - COUCHDB_USER=${COUCH_DB_USER}
    ports:
      - "5984"
      - "4369"
      - "9100"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:5984/_up"]
      interval: 30s
      timeout: 20s
      retries: 3

  redis-service:
    restart: on-failure
    image: redis
    command: redis-server --requirepass ${REDIS_PASSWORD}
    ports:
      - "6379"
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]