captainVersion: 4
services:
    $$cap_appname:
        depends_on:
            - $$cap_appname-mariadb
        image: nmtan/chevereto:$$cap_chevereto_version
        restart: 'always'
        environment:
            TZ: $$cap_tz
            PUID: $$cap_puid
            PGID: $$cap_guid
            CHEVERETO_DB_HOST: srv-captain--$$cap_appname-mariadb
            CHEVERETO_DB_USERNAME: $$cap_mariadb-user
            CHEVERETO_DB_PASSWORD: $$cap_mariadb-pass
            CHEVERETO_DB_NAME: $$cap_mariadb-db
        volumes:
            - $$cap_appname-images:/var/www/html/images
    # MariaDB
    $$cap_appname-mariadb:
        image: mariadb:$$cap_mariadb_version
        environment:
            MYSQL_RANDOM_ROOT_PASSWORD: '1'
            MYSQL_DATABASE: $$cap_mariadb-db
            MYSQL_USER: $$cap_mariadb-user
            MYSQL_PASSWORD: $$cap_mariadb-pass
        volumes:
            - $$cap_appname-mariadb-data:/var/lib/mysql
        restart: unless-stopped
        caproverExtra:
            notExposeAsWebApp: 'true'
caproverOneClickApp:
    variables:
        - id: $$cap_tz
          label: Timezone
          description: This is the timezone for the application, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
          defaultValue: Europe/Brussels
        - id: $$cap_chevereto_version
          label: Version Tag
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/nmtan/chevereto/tags
          defaultValue: 'installer'
        - id: $$cap_puid
          label: User ID
          defaultValue: '1000'
          description: User ID that the process uses, run (id $user) in your instance to see the id
          validRegex: /.{1,}/
        - id: $$cap_guid
          label: Group ID
          defaultValue: '1000'
          description: Group ID that the process uses, run (id $user) in your instance to see the id
          validRegex: /.{1,}/
        - id: $$cap_mariadb_version
          label: MariaDB Version
          defaultValue: '10.5.6'
          description: Check out their docker page for the valid tags https://hub.docker.com/r/library/mariadb/tags/
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_mariadb-db
          label: MariaDB Database
          description: Database name for Chevereto
          defaultValue: 'chevereto'
        - id: $$cap_mariadb-user
          label: MariaDB User
          description: Database User for Chevereto
          defaultValue: 'chevereto'
        - id: $$cap_mariadb-pass
          label: MariaDB database user password
          description: Super secret database user password
    instructions:
        start: |-
            Chevereto is a powerful and fast image hosting script that allows you to create your very own full featured image hosting website in just minutes.
        end: |-
            Aaaand you're done! 😄
            Your service is available at http://$$cap_appname.$$cap_root_domain
    displayName: Chevereto
    isOfficial: false
    description: Chevereto is a powerful and fast image hosting script that allows you to create your very own full featured image hosting website in just minutes.
    documentation: https://github.com/tanmng/docker-chevereto
