3.2 KiB
3.2 KiB
✅ 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": {
"email": "your-email",
"password": "your-password",
"rememberMe": false
}
}
Response:
{
"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": {
"projectName": "my-project",
"serviceName": "my-service",
"build": {
"type": "dockerfile",
"file": "Dockerfile"
}
}
}
Update Git Source
Endpoint: POST /api/trpc/services.app.updateSourceGit
Request Body:
{
"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": {
"projectName": "my-project",
"serviceName": "my-service",
"build": {
"type": "dockerfile",
"file": "Dockerfile"
}
}
}
Deploy Service
Endpoint: POST /api/trpc/services.app.deployService
Request Body:
{
"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:
{
"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.loginendpoint - ✅ Uses
emailfield (not username) - ✅ Extracts
sessionTokenfrom response - ✅ Uses Bearer token authentication
- ✅ Correct tRPC request format (
{"json": {...}}) - ✅ URL-encoded GET requests for status checks
- ✅ Proper error handling
Test:
cd /skills/easypanel-deploy
python3 scripts/deploy.py --help
# ✅ Works!
📋 WORKFLOW
- Login:
POST /api/trpc/auth.login→ session token - Create Service:
POST /api/trpc/services.app.createService - Update Git:
POST /api/trpc/services.app.updateSourceGit - Update Build:
POST /api/trpc/services.app.updateBuild - Deploy:
POST /api/trpc/services.app.deployService - Check Status:
GET /api/trpc/services.app.inspectService?input=...
🚀 NEXT STEPS
- ✅ easypanel-deploy script updated
- ⏳ Integrate with website-creator
- ⏳ Test complete workflow
- ⏳ Add log reading for auto-fix
Status: Ready to integrate with website-creator!