services: app: build: . container_name: litestream-app volumes: - app_data:/data - ./litestream.yml:/etc/litestream.yml:ro - ./insert-data.sql:/insert-data.sql:ro environment: - LITESTREAM_ACCESS_KEY_ID=minioadmin - LITESTREAM_SECRET_ACCESS_KEY=minioadmin networks: - litestream-net profiles: - app replica_1: &replica image: bitnami/minio:latest container_name: litestream-replica-1 ports: - "9000:9000" - "9001:9001" environment: - MINIO_ROOT_USER=minioadmin - MINIO_ROOT_PASSWORD=minioadmin - MINIO_DEFAULT_BUCKETS=litestream - MINIO_SCHEME=http volumes: - replica_1_data:/bitnami/minio/data networks: - litestream-net profiles: - replica healthcheck: test: [ "CMD-SHELL", "curl -f http://localhost:9000/minio/health/live || exit 1", ] interval: 30s timeout: 20s retries: 3 start_period: 60s replica_2: <<: *replica container_name: litestream-replica-2 ports: - "9010:9000" - "9002:9001" volumes: - replica_2_data:/bitnami/minio/data volumes: app_data: replica_1_data: replica_2_data: networks: litestream-net: driver: bridge