# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: mcy-shop
spec:
    description: 纯原生PHP打造一款极具潜力的个人创业型商城系统，支持虚拟商品，实体商品，任意支付方式！
    icon: https://wiki.mcy.im/favicon.ico
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: 域名
          description: 你的 mcy-shop 要绑定在的域名
    readme: |
        mcy-shop 萌次元商城系统基于异次元店铺系统3.0 全新重构，历时两年精心打磨，初心不改。我们采用纯原生PHP打造了一款极具潜力的个人创业型商城系统。数据库底层经过对hyperf/database 的深度优化，感谢hyperf开发团队提供的强大ORM组件。模版渲染引擎采用世界着名symfony团队开发的twig，安全且高性能。

        [GitHub](https://github.com/lizhipay/mcy-shop) | [官方文档](https://wiki.mcy.im)

        ## 安装

        这是一键部署的模板，只有安装步骤配置数据库的部分需要您留意。

        ![database configuration](https://cdn.zeabur.com/templates/mcy-shop/database-configuration.png)

        - 数据库地址：`mysql.zeabur.internal`
        - 数据库名称：`zeabur`
        - 用户名：`root`
        - 密码：在 mysql 的 instructions 中可以找到

        接着直接点击下一步即可完成安装。
    services:
        - name: mcy-shop
          icon: https://wiki.mcy.im/favicon.ico
          template: PREBUILT_V2
          spec:
            id: mcy-shop
            source:
                source: GITHUB
                repo: 1002984987
                branch: dockerfile
                rootDirectory: /
            ports:
                - id: web
                  port: 80
                  type: HTTP
            volumes:
                - id: web
                  dir: /var/www/html
            env:
                PORT:
                    default: ${WEB_PORT}
                    expose: false
            configs: []
            healthCheck:
                type: TCP
                port: web
            portForwarding:
                enabled: false
        - name: mysql
          icon: https://cdn.zeabur.com/marketplace/mysql.svg
          template: PREBUILT_V2
          spec:
            id: mysql
            source:
                image: mysql:8.0
            ports:
                - id: database
                  port: 3306
                  type: TCP
            volumes:
                - id: data
                  dir: /var/lib/mysql
            instructions:
                - title: Command to connect to your MySQL
                  content: mysqlsh --sql --host=${PORT_FORWARDED_HOSTNAME} --port=${DATABASE_PORT_FORWARDED_PORT} --user=${MYSQL_USERNAME} --password=${MYSQL_PASSWORD} --schema=${MYSQL_DATABASE}
                - title: MySQL username
                  content: ${MYSQL_USERNAME}
                - title: MySQL password
                  content: ${MYSQL_PASSWORD}
                - title: MySQL database
                  content: ${MYSQL_DATABASE}
                - title: MySQL host
                  content: ${PORT_FORWARDED_HOSTNAME}
                - title: MySQL port
                  content: ${DATABASE_PORT_FORWARDED_PORT}
            env:
                MYSQL_DATABASE:
                    default: zeabur
                    expose: true
                MYSQL_HOST:
                    default: ${CONTAINER_HOSTNAME}
                    expose: true
                MYSQL_PASSWORD:
                    default: ${MYSQL_ROOT_PASSWORD}
                    expose: true
                MYSQL_PORT:
                    default: ${DATABASE_PORT}
                    expose: true
                MYSQL_ROOT_PASSWORD:
                    default: ${PASSWORD}
                    expose: false
                MYSQL_USERNAME:
                    default: root
                    expose: true
            configs:
                - path: /etc/my.cnf
                  template: |
                    [mysqld]
                    default-authentication-plugin=mysql_native_password
                    host-cache-size=0
                    skip-name-resolve
                    datadir=/var/lib/mysql
                    socket=/var/run/mysqld/mysqld.sock
                    secure-file-priv=/var/lib/mysql-files
                    user=mysql
                    max_allowed_packet=10M
                    performance_schema=off

                    pid-file=/var/run/mysqld/mysqld.pid
                    [client]
                    socket=/var/run/mysqld/mysqld.sock

                    !includedir /etc/mysql/conf.d/
                  permission: null
                  envsubst: null
            portForwarding:
                enabled: true
