captainVersion: 4
services:
    $$cap_appname-db:
        image: supabase/postgres:$$cap_app_version
        volumes:
            - $$cap_appname-db-data:/var/lib/postgresql/data
        restart: always
        environment:
            POSTGRES_USER: $$cap_pg_user
            POSTGRES_PASSWORD: $$cap_pg_pass
            POSTGRES_DB: $$cap_pg_db
            POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args
        caproverExtra:
            notExposeAsWebApp: 'true'
caproverOneClickApp:
    variables:
        - id: $$cap_app_version
          label: Supabase Version
          defaultValue: '0.14.0'
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/supabase/postgres/tags
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_pg_user
          label: Postgres Username
          description: ''
          validRegex: /.{1,}/
        - id: $$cap_pg_pass
          label: Postgres Password
          description: ''
          validRegex: /.{1,}/
        - id: $$cap_pg_db
          label: Postgres Default Database
          description: ''
          validRegex: /.{1,}/
        - id: $$cap_pg_initdb_args
          label: "OPTIONAL: Arguments for 'postgres initdb'"
          description: For example, --data-checksums
          validRegex: /.{0,}/
    instructions:
        start: >-
            Postgres + goodies = Supabase Postgres

            Unmodified Postgres with some useful plugins. 

            Our goal with this repo is not to modify Postgres, but to provide some of the most common extensions with a one-click install.
        end: "Supabase (Postgres) is deployed and available as srv-captain--$$cap_appname-db:5432 to other apps. For example with NodeJS: 'const client = new Client({ user: 'cap_pg_user', host: 'srv-captain--$$cap_appname', database: 'cap_pg_db', password: '********', port: 5432})'"
    displayName: Supabase PostgreSQL
    isOfficial: true
    description: Supabase makes it easy to use Postgres.
    documentation: Taken from https://github.com/supabase/postgres
