- Changed from Dockerfile to nixpacks (no Dockerfile needed) - Astro projects automatically detected and built by nixpacks - Simpler deployment, no Docker configuration required
Easypanel Deploy - Usage Guide
🚀 Quick Start
/use easypanel-deploy
📋 What It Does
Deploy and manage Easypanel services via API:
- Deploy new service - From Git repository
- Redeploy existing - Trigger new build
- Check status - View deployment status
- View logs - Recent deployment logs
🔧 Prerequisites
Setup Credentials
Create ~/.easypanel/credentials:
EASYPANEL_URL=http://110.164.146.47:3000
EASYPANEL_API_TOKEN=your-token-here
EASYPANEL_DEFAULT_PROJECT=default
Get API Token
- Login to Easypanel:
http://110.164.146.47:3000 - Settings → API
- Generate new token
- Copy to credentials file
API Documentation
Full API docs: http://110.164.146.47:3000/api
API uses tRPC format:
- GET:
/api/trpc/<endpoint>?input=<encoded-json> - POST:
/api/trpc/<endpoint>with{"input":{"json":{...}}}
📝 Commands
Deploy New Service
/use easypanel-deploy deploy
→ Project name
→ Service name
→ Git URL
→ Branch
→ Port
Uses API:
projects.createProjectservices.app.createServiceservices.app.updateSourceGitservices.app.deployService
Redeploy Existing
/use easypanel-deploy redeploy
→ Project name
→ Service name
Uses API:
projects.listProjectsAndServicesservices.app.deployService
Check Status
/use easypanel-deploy status
→ Project name
→ Service name
Uses API:
projects.listProjectsAndServicesservices.app.inspectServicemonitor.getServiceStats
View Logs
/use easypanel-deploy logs
→ Project name
→ Service name
→ Lines (optional)
Uses API:
services.common.getLogs
🔄 Auto-Deploy
After initial setup:
- Push to Git
- Easypanel auto-deploys
- Use skill to check status/logs
⚠️ Troubleshooting
| Issue | Solution |
|---|---|
| 401 Unauthorized | Check API token |
| 404 Not Found | Verify project/service name |
| Build Failed | View logs with logs command |
| Can't connect | Check Easypanel URL |
🛠️ Tech Stack
- Easypanel - Deployment platform
- Docker - Containerization
- Git - Gitea/GitHub/GitLab
📊 Example API Calls
List Projects
curl "http://110.164.146.47:3000/api/trpc/projects.listProjects" \
-H "Authorization: Bearer YOUR_TOKEN"
Deploy Service
curl -X POST "http://110.164.146.47:3000/api/trpc/services.app.deployService" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"input":{"json":{"projectName":"my-project","serviceName":"my-service"}}}'
Get Logs
curl "http://110.164.146.47:3000/api/trpc/services.common.getLogs?input=%7B%22json%22%3A%7B%22projectName%22%3A%22my-project%22%2C%22serviceName%22%3A%22my-service%22%2C%22lines%22%3A50%7D%7D" \
-H "Authorization: Bearer YOUR_TOKEN"
🎯 Output
After deployment:
- ✅ Service URL
- ✅ Deployment status
- ✅ Health check status
- ✅ Build summary