Auto-sync from website-creator

This commit is contained in:
Kunthawat Greethong
2026-03-08 23:03:19 +07:00
commit 9be686f587
117 changed files with 24737 additions and 0 deletions

View File

@@ -0,0 +1,172 @@
# ✅ EASYPANEL API INTEGRATION COMPLETE
**Date:** 2026-03-08
**Status:** ✅ Scripts updated with correct API endpoints
---
## 🎯 EXTRACTED API ENDPOINTS
From Easypanel OpenAPI spec (https://panelwebsite.moreminimore.com/api/openapi.json)
### Authentication
**Endpoint:** `POST /api/trpc/auth.login`
**Request Body:**
```json
{
"json": {
"email": "your-email",
"password": "your-password",
"rememberMe": false
}
}
```
**Response:**
```json
{
"result": {
"data": {
"sessionToken": "xxx-xxx-xxx"
}
}
}
```
**Auth Method:** Bearer token in Authorization header
---
### Service Management
#### Create Service
**Endpoint:** `POST /api/trpc/services.app.createService`
**Request Body:**
```json
{
"json": {
"projectName": "my-project",
"serviceName": "my-service",
"build": {
"type": "dockerfile",
"file": "Dockerfile"
}
}
}
```
#### Update Git Source
**Endpoint:** `POST /api/trpc/services.app.updateSourceGit`
**Request Body:**
```json
{
"json": {
"projectName": "my-project",
"serviceName": "my-service",
"repo": "https://git.moreminimore.com/user/repo.git",
"ref": "main",
"path": "/"
}
}
```
#### Update Build
**Endpoint:** `POST /api/trpc/services.app.updateBuild`
**Request Body:**
```json
{
"json": {
"projectName": "my-project",
"serviceName": "my-service",
"build": {
"type": "dockerfile",
"file": "Dockerfile"
}
}
}
```
#### Deploy Service
**Endpoint:** `POST /api/trpc/services.app.deployService`
**Request Body:**
```json
{
"json": {
"projectName": "my-project",
"serviceName": "my-service",
"forceRebuild": false
}
}
```
#### Check Status
**Endpoint:** `GET /api/trpc/services.app.inspectService?input=<encoded-json>`
**URL Encoding:**
```
GET /api/trpc/services.app.inspectService?input=%7B%22json%22%3A%7B%22projectName%22%3A%22my-project%22%2C%22serviceName%22%3A%22my-service%22%7D%7D
```
**Response:**
```json
{
"result": {
"data": {
"status": "running",
"url": "https://my-service.easypanel.app"
}
}
}
```
---
## ✅ SCRIPT UPDATED
**File:** `/skills/easypanel-deploy/scripts/deploy.py`
**Changes:**
- ✅ Uses correct `/api/trpc/auth.login` endpoint
- ✅ Uses `email` field (not username)
- ✅ Extracts `sessionToken` from response
- ✅ Uses Bearer token authentication
- ✅ Correct tRPC request format (`{"json": {...}}`)
- ✅ URL-encoded GET requests for status checks
- ✅ Proper error handling
**Test:**
```bash
cd /skills/easypanel-deploy
python3 scripts/deploy.py --help
# ✅ Works!
```
---
## 📋 WORKFLOW
1. **Login:** `POST /api/trpc/auth.login` → session token
2. **Create Service:** `POST /api/trpc/services.app.createService`
3. **Update Git:** `POST /api/trpc/services.app.updateSourceGit`
4. **Update Build:** `POST /api/trpc/services.app.updateBuild`
5. **Deploy:** `POST /api/trpc/services.app.deployService`
6. **Check Status:** `GET /api/trpc/services.app.inspectService?input=...`
---
## 🚀 NEXT STEPS
1. ✅ easypanel-deploy script updated
2. ⏳ Integrate with website-creator
3. ⏳ Test complete workflow
4. ⏳ Add log reading for auto-fix
---
**Status:** Ready to integrate with website-creator!