Files
2026-03-08 23:03:19 +07:00

152 lines
3.0 KiB
Markdown

# Easypanel Deploy - Usage Guide
## 🚀 Quick Start
```
/use easypanel-deploy
```
## 📋 What It Does
Deploy and manage Easypanel services via API:
1. **Deploy new service** - From Git repository
2. **Redeploy existing** - Trigger new build
3. **Check status** - View deployment status
4. **View logs** - Recent deployment logs
## 🔧 Prerequisites
### Setup Credentials
Create `~/.easypanel/credentials`:
```bash
EASYPANEL_URL=http://110.164.146.47:3000
EASYPANEL_API_TOKEN=your-token-here
EASYPANEL_DEFAULT_PROJECT=default
```
### Get API Token
1. Login to Easypanel: `http://110.164.146.47:3000`
2. Settings → API
3. Generate new token
4. 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:**
1. `projects.createProject`
2. `services.app.createService`
3. `services.app.updateSourceGit`
4. `services.app.deployService`
### Redeploy Existing
```
/use easypanel-deploy redeploy
→ Project name
→ Service name
```
**Uses API:**
1. `projects.listProjectsAndServices`
2. `services.app.deployService`
### Check Status
```
/use easypanel-deploy status
→ Project name
→ Service name
```
**Uses API:**
1. `projects.listProjectsAndServices`
2. `services.app.inspectService`
3. `monitor.getServiceStats`
### View Logs
```
/use easypanel-deploy logs
→ Project name
→ Service name
→ Lines (optional)
```
**Uses API:**
1. `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
```bash
curl "http://110.164.146.47:3000/api/trpc/projects.listProjects" \
-H "Authorization: Bearer YOUR_TOKEN"
```
### Deploy Service
```bash
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
```bash
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