captainVersion: 4
services:
    $$cap_appname:
        image: shumc/imagor:$$cap_imagor_version
        volumes:
            - $$cap_appname-data:/mnt/data
        environment:
            PORT: 80
            IMAGOR_UNSAFE: $$cap_env_imagor_unsafe
            IMAGOR_SECRET: $$cap_env_imagor_secret
            FILE_LOADER_BASE_DIR: /mnt/data
            FILE_STORAGE_BASE_DIR: /mnt/data
            FILE_RESULT_STORAGE_BASE_DIR: /mnt/data/result
        restart: always
caproverOneClickApp:
    variables:
        - id: $$cap_imagor_version
          label: App Version
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/shumc/imagor/tags
          defaultValue: '0.8.11'
          validRegex: /^([^\s^\/])+$/

        - id: $$cap_env_imagor_unsafe
          label: Imagor Undafe
          description: unsafe URL for testing (valid value 1 or 0)
          defaultValue: 1
          validRegex: /^\d$/

        - id: $$cap_env_imagor_secret
          label: Imagor Secret
          description: Secret key for URL signature
          defaultValue: $$cap_gen_random_hex(32)
          validRegex: /^([^\s^\/])+$/

    instructions:
        start: |-
            Imagor is a fast, Docker-ready image processing server written in Go.
            This app will store the images in local file system, using mounted volume.
            If you want to s3 buckets use the Imagor S3 instead.
            GitHub: https://github.com/cshum/imagor
        end: |-
            $$cap_appname deployed successfuly.
            Imagor is currently running in unsafe mode for easier testing.
            In production environment, it is highly recommended turning off IMAGOR_UNSAFE 
            by setting the IMAGOR_UNSAFE to 0 or removing the IMAGOR_UNSAFE environment variable
    displayName: Imagor (Local storage)
    isOfficial: true
    description: Imagor is a fast, Docker-ready image processing server written in Go. (Stores images locally as docker volumes)
    documentation: https://github.com/cshum/imagor
