captainVersion: 4
services:
    $$cap_appname-joomla:
        image: joomla:$$cap_joomla_version
        volumes:
            - $$cap_appname-joomla-data:/var/www/html
        restart: always
        environment:
            JOOMLA_DB_HOST: $$cap_db_host:3306
            JOOMLA_DB_NAME: $$cap_db_name
            JOOMLA_DB_USER: $$cap_db_user
            JOOMLA_DB_PASSWORD: $$cap_db_pass
caproverOneClickApp:
    variables:
        - description: Database Host
          defaultValue: srv-captain--xxx
          id: $$cap_db_host
          label: Database Host
        - description: Database Name
          defaultValue: joomla
          id: $$cap_db_name
          label: DB Name
        - id: $$cap_db_user
          label: Database User
          defaultValue: joomla
        - id: $$cap_db_pass
          label: Database Password
          description: ''
          validRegex: /.{1,}/
        - id: $$cap_joomla_version
          label: Joomla Version
          defaultValue: php7.3-apache
          description: Check out their Docker page for the valid tags https://hub.docker.com/_/joomla?tab=tags
          validRegex: /^([^\s^\/])+$/
    instructions:
        start: >-
            Joomla! is one of world's most popular software packages. It is used to build, organise, manage and publish content for small businesses, governments, non-profits and large organisations worldwide.

             Enter your Joomla Configuration parameters and click on next. A Joomla container will be created for you. The process will take about a minute for the process to finish. 

            Note: This app is intended for advanced users who'd like to have a central DB in a single container for multiple instances. You should start by configuring your DB first and then comeback with all the DB Information.
        end: >-
            Joomla is deployed and available as $$cap_appname-joomla . 

             IMPORTANT: It will take up to 2 minutes for Joomla to be ready. Before that, you might see a 502 error page.

             Remember that this app will not create a Database by itself. You need to provide all that information.
    displayName: Joomla - No Database
    isOfficial: true
    description: This will create a Joomla only. You will need to create and configure the database information manually. Intended for advanced users.
    documentation: Taken from https://hub.docker.com/_/joomla?tab=description. Based on Wordpress - No Database template.
