captainVersion: 4
services:
    $$cap_appname:
        volumes:
            - $$cap_appname-db-data:/data
            - $$cap_appname-config-data:/root/.minio
        restart: always
        environment:
            MINIO_ROOT_USER: $$cap_access_key
            MINIO_ROOT_PASSWORD: $$cap_secret_key
            MINIO_REGION_NAME: 'eu-east-1'
            MINIO_BROWSER_REDIRECT_URL: https://$$cap_appname.$$cap_root_domain
            MINIO_SERVER_URL: https://$$cap_appname-s3.$$cap_root_domain # MinIO S3 API
        caproverExtra:
            containerHttpPort: '9001'
            dockerfileLines:
                - FROM minio/minio:$$cap_minio_version
                - CMD ["server", "/data", "--console-address", ":9001"]
    $$cap_appname-s3:
        image: caprover/nginx-reverse-proxy:1-ef5ffcb
        restart: always
        depends_on:
            - $$cap_appname
        environment:
            UPSTREAM_HTTP_ADDRESS: http://srv-captain--$$cap_appname:9000
caproverOneClickApp:
    variables:
        - id: $$cap_minio_version
          label: MinIO Version
          defaultValue: RELEASE.2021-08-17T20-53-08Z
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/minio/minio/tags/
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_access_key
          label: MinIO Access Key
          defaultValue: ''
          description: Username to access MinIO server
          validRegex: /.{5,}/
        - id: $$cap_secret_key
          label: Minio Secret Key
          defaultValue: ''
          description: Password to access MinIO server
          validRegex: /.{8,}/
    instructions:
        start: >-
            MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. 
            It is API compatible with Amazon S3 cloud storage service.
        end: >-
            Minio is deployed and available as $$cap_appname. 
            **Important**: Make sure to enable HTTPS for both $$cap_appname and $$cap_appname-s3
            You can access the dashboard at https://$$cap_appname.$$cap_root_domain
            And, you can access the S3 API Endpoint at https://$$cap_appname-s3.$$cap_root_domain
    displayName: ''
    isOfficial: true
    description: MinIO is a cloud storage server compatible with Amazon S3
    documentation: Taken from https://docs.min.io/docs/minio-docker-quickstart-guide.html
