captainVersion: 4
services:
    $$cap_appname-db:
        documentation: Taken from https://hub.docker.com/_/mariadb
        image: mariadb:$$cap_mariadb_version
        volumes:
            - $$cap_appname-db-data:/var/lib/mysql
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: $$cap_db_pass
            MYSQL_DATABASE: $$cap_db_name
            MYSQL_USER: $$cap_db_user
            MYSQL_PASSWORD: $$cap_db_pass
        caproverExtra:
            notExposeAsWebApp: 'true'
    $$cap_appname:
        documentation: Taken from https://hub.docker.com/r/bitnami/orangehrm
        depends_on:
            - $$cap_appname-db
        image: bitnami/orangehrm:$$cap_orangehrm_version
        volumes:
            - $$cap_appname-data:/bitnami
        restart: always
        environment:
            ORANGEHRM_USERNAME: $$cap_admin_name
            ORANGEHRM_PASSWORD: $$cap_admin_pass
            MARIADB_HOST: srv-captain--$$cap_appname-db
            ORANGEHRM_DATABASE_NAME: $$cap_db_name
            ORANGEHRM_DATABASE_USER: $$cap_db_user
            ORANGEHRM_DATABASE_PASSWORD: $$cap_db_pass
            SMTP_HOST: $$cap_smtp_host
            SMTP_PORT: $$cap_smtp_port
            SMTP_USER: $$cap_smtp_user
            SMTP_PASSWORD: $$cap_smtp_pass
caproverOneClickApp:
    variables:
        - id: $$cap_admin_name
          label: OrangeHRM default admin name
          defaultValue: admin
          description: Admin username for OrangeHRM.
          validRegex: /^([a-zA-Z0-9])+$/
        - id: $$cap_admin_pass
          label: admin password
          description: Password for the admin user.
          validRegex: /.{1,}/
        - id: $$cap_orangehrm_version
          label: OrangeHRM Version
          defaultValue: '4.6.0-0'
          description: https://hub.docker.com/r/bitnami/orangehrm/tags
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_mariadb_version
          label: MariaDB (database) version
          defaultValue: 10.5.3
          description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_db_pass
          label: database password
          description: Password for the database user and root using mysql.
          validRegex: /.{1,}/
        - id: $$cap_db_name
          label: database name
          defaultValue: orangehrm
          description: name for the database.
          validRegex: /^([a-zA-Z0-9])+$/
        - id: $$cap_db_user
          label: database user
          defaultValue: orangehrm
          description: Username for the database using mysql.
          validRegex: /^([a-zA-Z0-9])+$/
        - id: $$cap_smtp_host
          label: SMPT host
          defaultValue: smtp.gmail.com
          description: The host for your smtp server
        - id: $$cap_smtp_port
          label: SMTP port
          defaultValue: '587'
          description: The port for your smtp server
        - id: $$cap_smtp_user
          label: SMTP user
          defaultValue: your_email@gmail.com
          description: The user for your smtp server
        - id: $$cap_smtp_pass
          label: SMTP password
          defaultValue: sTr0nG_p@s$wo%d
          description: The password for your smtp server
    instructions:
        start: |-
            OrangeHRM Open Source is a free HR management.
            The process will deploy a database and the App.
        end: |-
            OrangeHRM has been successfully deployed!
    displayName: OrangeHRM
    isOfficial: false
    description: OrangeHRM Open Source is a free HR management system that offers a wealth of modules to suit the needs of your business.
    documentation: See https://github.com/orangehrm/orangehrm
