env: DB_DIALECT: "mysql" DB_HOST: "localhost" DB_PORT: "5432" DB_DATABASE: "nocobase" DB_USER: "nocobase" DB_PASSWORD: "nocobase" APP_PORT: "13000" DB_CONTAINER_NAME: "nocobase-db" tasks: - name: Start MySQL before: | container_id=$(docker ps --all --quiet --filter "name=${DB_CONTAINER_NAME}") if [ -z "${container_id}" ]; then docker create --name ${DB_CONTAINER_NAME} -p "${DB_PORT}:3306" \ -e MYSQL_ROOT_PASSWORD="${DB_PASSWORD}" \ -e MYSQL_DATABASE="${DB_DATABASE}" \ -e MYSQL_USER="${DB_USER}" \ -e MYSQL_PASSWORD="${DB_PASSWORD}" \ mysql:8 \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_unicode_ci fi docker start "${DB_CONTAINER_NAME}" command: | echo "Database started" gp sync-done db-ready exit 0 - name: Setup Environment init: | cat > .env << EOL DB_DIALECT=mysql DB_HOST=${DB_HOST} DB_PORT=${DB_PORT} DB_DATABASE=${DB_DATABASE} DB_USER=${DB_USER} DB_PASSWORD=${DB_PASSWORD} NOCOBASE_PKG_USERNAME= NOCOBASE_PKG_PASSWORD= EOL command: | echo "Environment configured" gp sync-done env-ready exit 0 - name: Install Dependencies init: | yarn install yarn nocobase install command: | echo "Dependencies installed" gp sync-done deps-ready exit 0 - name: Start Application command: | gp sync-await db-ready gp sync-await env-ready gp sync-await deps-ready yarn dev ports: - port: 5432 onOpen: ignore visibility: private - port: 13000 onOpen: open-preview visibility: public