# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: LineCRM
spec:
    description: A LINE-integrated CRM system for managing customer relationships and AI-powered message automation.
    coverImage: https://zeabur.com/docs/_next/image?url=%2Fdocs%2F_next%2Fstatic%2Fmedia%2Fintro.5b73c4f8.png&w=3840&q=75
    icon: https://upload.wikimedia.org/wikipedia/commons/4/41/LINE_logo.svg
    variables:
        - key: CRM_DOMAIN
          type: DOMAIN
          name: CRM Domain
          description: What domain do you want for your LineCRM frontend?
        - key: GHCR_USERNAME
          type: STRING
          name: GHCR Username
          description: Your GitHub username for pulling private Docker images
        - key: GHCR_TOKEN
          type: STRING
          name: GHCR Token
          description: GitHub Personal Access Token with read:packages permission
        - key: SUPABASE_URL
          type: STRING
          name: Supabase URL
          description: Your Supabase project URL
        - key: SUPABASE_KEY
          type: STRING
          name: Supabase Anon Key
          description: Your Supabase anonymous key
        - key: LINE_CHANNEL_SECRET
          type: STRING
          name: LINE Channel Secret
          description: LINE Messaging API channel secret
        - key: LINE_CHANNEL_ACCESS_TOKEN
          type: STRING
          name: LINE Channel Token
          description: LINE Messaging API channel access token
    tags:
        - CRM
        - LINE
        - AI
        - Automation
    readme: "# LineCRM\n\nA comprehensive LINE-integrated CRM (Customer Relationship Management) system.\n\n## Features\n\n- \U0001F916 **AI-Powered Messaging**: Automate responses with AI integration\n- \U0001F4AC **LINE Integration**: Seamless connection with LINE Messaging API\n- \U0001F465 **Customer Management**: Track and manage your customers\n- \U0001F4CA **Dashboard**: Visual analytics and insights\n- \U0001F504 **Questionnaire System**: Create and share surveys via LINE\n\n## Setup Instructions\n\n1. **GitHub Token**: Create a Personal Access Token with `read:packages` permission\n2. **Supabase**: Create a Supabase project and get your URL and anon key\n3. **LINE**: Set up a LINE Messaging API channel\n4. **Deploy**: Fill in the required environment variables\n\n## Support\n\nFor support, please visit our GitHub repository."
    services:
        - name: backend
          icon: https://cdn.zeabur.com/icon/v2/docker.svg
          template: PREBUILT
          spec:
            source:
                image: ghcr.io/inventra/lazyoffice_line_crm-backend:latest
                username: ${GHCR_USERNAME}
                password: ${GHCR_TOKEN}
            ports:
                - id: api
                  port: 8000
                  type: HTTP
            env:
                LINE_CHANNEL_ACCESS_TOKEN:
                    default: ${LINE_CHANNEL_ACCESS_TOKEN}
                LINE_CHANNEL_SECRET:
                    default: ${LINE_CHANNEL_SECRET}
                SUPABASE_KEY:
                    default: ${SUPABASE_KEY}
                SUPABASE_URL:
                    default: ${SUPABASE_URL}
        - name: frontend
          icon: https://cdn.zeabur.com/icon/v2/docker.svg
          dependencies:
            - backend
          template: PREBUILT
          spec:
            source:
                image: ghcr.io/inventra/lazyoffice_line_crm-frontend:latest
                username: ${GHCR_USERNAME}
                password: ${GHCR_TOKEN}
            ports:
                - id: web
                  port: 80
                  type: HTTP
            env:
                SUPABASE_KEY:
                    default: ${SUPABASE_KEY}
                SUPABASE_URL:
                    default: ${SUPABASE_URL}
                VITE_API_URL:
                    default: https://${CRM_DOMAIN}
          domainKey: CRM_DOMAIN
