captainVersion: 4
services:
    '$$cap_appname':
        image: nocodb/nocodb:$$cap_version
        restart: always
        environment:
            NC_DB: '$$cap_nc_db'
            DATABASE_URL: '$$cap_database_url'
            NC_PUBLIC_URL: '$$cap_public_url'
            NC_AUTH_JWT_SECRET: '$$cap_auth_jwt_secret'
            NC_SENTRY_DSN: '$$cap_sentry_dsn'
            NC_CONNECT_TO_EXTERNAL_DB_DISABLED: '$$cap_connect_to_external_db_disabled'
            NC_DISABLE_TELE: '$$cap_disable_tele'
        volumes:
            - '$$cap_appname-data:/usr/app/data'
        caproverExtra:
            containerHttpPort: '8080'
caproverOneClickApp:
    variables:
        - id: '$$cap_version'
          label: NocoDB Version
          defaultValue: '0.83.8'
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/nocodb/nocodb/tags
          validRegex: "/^([^\\s^\\/])+$/"
        - id: '$$cap_nc_db'
          label: NC_DB
          defaultValue: ''
          description: 'MySQL, PostgreSQL and MSSQL connection urls supported. If absent: A local SQLite will be created in root folder'
        - id: '$$cap_database_url'
          label: DATABASE_URL
          defaultValue: ''
          description: JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment
        - id: '$$cap_public_url'
          label: NC_PUBLIC_URL
          defaultValue: ''
          description: 'Used for sending Email invitations. If absent: Best guess from http request params'
        - id: '$$cap_auth_jwt_secret'
          label: NC_AUTH_JWT_SECRET
          defaultValue: '$$cap_gen_random_hex(64)'
          description: 'JWT secret used for auth and storing other secrets. If absent: A Random secret will be generated'
        - id: '$$cap_sentry_dsn'
          label: NC_SENTRY_DSN
          defaultValue: ''
          description: For Sentry monitoring
        - id: '$$cap_connect_to_external_db_disabled'
          label: NC_CONNECT_TO_EXTERNAL_DB_DISABLED
          defaultValue: ''
          description: Disable Project creation with external database. (Enter "1" to disable)
        - id: '$$cap_disable_tele'
          label: NC_DISABLE_TELE
          defaultValue: ''
          description: Disable telemetry (Enter "1" to disable)
    instructions:
        start: 'NocoDB is an open source #NoCode platform that turns any database into a smart spreadsheet. https://github.com/nocodb/nocodb - https://www.nocodb.com/'
        end: NocoDB has been successfully deployed! It might take a minute or two to boot though, during which time you might get a 502
    displayName: NocoDB
    isOfficial: true
    description: The Open Source Airtable Alternative - Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet.
    documentation: See https://github.com/nocodb/nocodb
