# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Typesense
spec:
    description: Fast, open source, typo-tolerant search engine
    coverImage: https://github.com/typesense/typesense/raw/v28/assets/typesense_books_demo.gif?raw=true
    icon: https://typesense.org/docs/images/typesense_logo.svg
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: What is the domain you want for your service?
    tags:
        - Search Engine
        - Open Source
        - Typo-tolerant
        - Fast
    readme: |-
        # Typesense
        Typesense is a fast, typo-tolerant search engine for building delightful search experiences.

        An Open Source Algolia Alternative & An Easier-to-Use ElasticSearch Alternative

        [more](https://github.com/ThaddeusJiang/zeabur-templates/blob/main/typesense.md)
    services:
        - name: typesense
          icon: https://avatars.githubusercontent.com/u/19822348?s=48&v=4
          template: PREBUILT_V2
          spec:
            id: typesense
            source:
                image: typesense/typesense:30.1
            ports:
                - id: web
                  port: 8108
                  type: HTTP
            volumes:
                - id: data
                  dir: /data
            instructions:
                - title: Typesense URL
                  content: ${ZEABUR_WEB_URL}
                - title: Typesense API Key
                  content: ${TYPESENSE_API_KEY}
            env:
                TYPESENSE_API_KEY:
                    default: ${PASSWORD}
                    expose: true
                TYPESENSE_DATA_DIR:
                    default: /data
                    expose: false
            configs: []
          domainKey: PUBLIC_DOMAIN
