captainVersion: 4
services:
    # Monica
    $$cap_appname:
        depends_on:
            - $$cap_appname-mariadb
        image: monica:$$cap_monica_version
        restart: 'always'
        environment:
            APP_KEY: $$cap_gen_random_hex(32)
            DB_HOST: srv-captain--$$cap_appname-mariadb
            DB_DATABASE: $$cap_mariadb-db
            DB_USERNAME: $$cap_mariadb-user
            DB_PASSWORD: $$cap_mariadb-pass
            APP_ENV: 'production'
        volumes:
            - $$cap_appname-storage:/var/www/html/storage
    # 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_monica_version
          label: Monica Docker version
          defaultValue: '2.19.1'
          description: Check out this page for the valid tags Find on https://hub.docker.com/_/monica?tab=tags. Use the Apache tag otherwise it won't work.
        - 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 Monica
          defaultValue: 'monica'
        - id: $$cap_mariadb-user
          label: MariaDB User
          description: Database User for Monica
          defaultValue: 'monica'
        - id: $$cap_mariadb-pass
          label: MariaDB database user password
          description: Super secret database user password
    instructions:
        start: >-
            Monica is a great open source personal relationship management system to organize the interactions with your loved ones.
        end: >-
            Aaaand you're done! 😄

            Wait approximately 1 minutes until all migrations are done and then access Monica at https://$$cap_appname.$$cap_root_domain from your host system. If this looks ok, add your first user account.
    displayName: 'Monica'
    isOfficial: true
    description: Monica is a great open source personal relationship management system to organize the interactions with your loved ones.
    documentation: Taken from https://hub.docker.com/_/monica
