captainVersion: 4
services:
    $$cap_appname:
        image: couchdb:$$cap_couchdb_version
        volumes:
            - $$cap_appname-db-data:/opt/couchdb/data
            - $$cap_appname-db-etc:/opt/couchdb/etc
        restart: always
        environment:
            COUCHDB_USER: $$cap_couchdb_user
            COUCHDB_PASSWORD: $$cap_couchdb_password
        caproverExtra:
            containerHttpPort: '5984'
caproverOneClickApp:
    variables:
        - id: $$cap_couchdb_version
          label: CouchDB Version Tag
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/couchdb/tags/
          defaultValue: '2'
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_couchdb_user
          label: CouchDB Username
          defaultValue: mainuser
          validRegex: /^([a-zA-Z0-9_])+$/
        - id: $$cap_couchdb_password
          label: CouchDB Password
          defaultValue: ''
          validRegex: /.{1,}/
    instructions:
        start: >-
            CouchDB is a database that uses JSON for documents, an HTTP API, & JavaScript/declarative indexing.

             After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 5984 to other CapRover apps.

            Enter your CouchDB Configuration parameters and click on next. It will take about a minute for the process to finish.
        end: CouchDB is deployed and available as $$cap_appname at port 5984 to other apps
    displayName: CouchDB
    isOfficial: true
    description: Apache CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang
    documentation: Taken from https://hub.docker.com/_/couchdb/
