Files
websitebuilder/EASYPANEL_UPDATE.md
Kunthawat Greethong 4d1bb6892b
Some checks failed
CI / build (push) Has been cancelled
CI / test (push) Has been cancelled
CI / e2e (push) Has been cancelled
CI / lint (push) Has been cancelled
Add websitebuilder app
2026-01-26 12:50:12 +07:00

7.8 KiB

Easypanel API Integration - Update Summary

Update Complete

The Easypanel API integration details have been successfully added to the SPECIFICATION.md file.


📝 What Was Added

Comprehensive Easypanel API Documentation

The Easypanel Integration section (starting at line 1065) now includes:

1. Overview

  • Base URL: https://panel.moreminimore.com/api
  • API Documentation link
  • Purpose and scope

2. Authentication

  • Login endpoint: POST /api/trpc/auth.login
  • Request/response examples
  • Environment variables configuration
  • TypeScript implementation

3. Service Naming Convention

  • Format: {username}-{project_id}
  • Examples for apps and databases
  • Duplicate handling with running numbers
  • TypeScript implementation

4. Database Creation

  • Create database endpoint: POST /api/trpc/services.mariadb.createService
  • Complete request body with all parameters
  • Response format
  • Database connection string construction
  • TypeScript implementation

5. Application Deployment

  • Create application endpoint: POST /api/trpc/services.app.createService
  • Complete request body with domains, mounts, environment variables
  • Response format
  • TypeScript implementation

6. Update/Redeploy Application

  • Update deploy endpoint: POST /api/trpc/services.app.updateDeploy
  • Request body format
  • TypeScript implementation

7. Deployment Status

  • Inspect service endpoint: GET /api/trpc/services.app.inspectService
  • Query parameters
  • TypeScript implementation

8. List Services

  • List projects and services endpoint: GET /api/trpc/projects.listProjectsAndServices
  • TypeScript implementation

9. Delete Service

  • Destroy service endpoint: POST /api/trpc/services.app.destroyService
  • Request body format
  • TypeScript implementation

10. Stop/Start Service

  • Stop service endpoint: POST /api/trpc/services.app.stopService
  • Start service endpoint: POST /api/trpc/services.app.startService
  • Request body format
  • TypeScript implementation

11. Domain Management

  • Update domain endpoint: POST /api/trpc/domains.updateDomain
  • Complete workflow (get domain ID, then update)
  • Request body format
  • TypeScript implementation

12. Dockerfile Generation

  • Next.js Dockerfile template
  • React Dockerfile template
  • TypeScript implementation

13. Complete Easypanel Service

  • Full TypeScript service class with all methods
  • Type definitions for all interfaces
  • Authentication handling
  • Error handling

14. Error Handling

  • User-friendly error messages
  • Internal logging for debugging
  • Implementation example

15. Environment Variables

  • Required environment variables
  • Example values

16. API Reference

  • Complete list of all endpoints
  • Links to API documentation

📊 Statistics

  • Original file size: 2,401 lines
  • New file size: 3,415 lines
  • Lines added: 1,014 lines
  • Sections added: 16 major sections
  • Code examples: 20+ TypeScript implementations
  • API endpoints documented: 11 endpoints

🔑 Key Features Documented

Authentication

  • Email/password login
  • Bearer token management
  • Automatic token refresh

Service Management

  • Create databases (MariaDB)
  • Create applications
  • Update/redeploy applications
  • Delete services
  • Stop/start services
  • List all services

Domain Management

  • Default domain: {username}-{serviceName}.moreminimore.com
  • Custom domain support
  • SSL certificates (Let's Encrypt)
  • Domain update workflow

Database Connection

  • Connection string format: mariadb://{username}:{password}@{projectName}_{serviceName}:3306/{databaseName}
  • Auto-generated passwords
  • Secure credential management

Deployment

  • Docker-based deployment
  • Auto-generated Dockerfiles
  • Environment variable management
  • Volume mounts for persistent storage
  • Zero-downtime deployments

🎯 Ready for Phase 4 Implementation

All Easypanel API details are now documented and ready for Phase 4 implementation (Weeks 11-13).

What You Have Now

Complete API endpoint documentation Request/response examples TypeScript implementation code Error handling strategies Environment variable configuration Service naming conventions Domain management workflow Dockerfile generation templates

What You Need to Do in Phase 4

  1. Create src/lib/services/easypanel.service.ts
  2. Implement all methods from the documentation
  3. Add environment variables to .env.local
  4. Test authentication
  5. Test database creation
  6. Test application deployment
  7. Test domain management
  8. Test update/redeploy functionality

📦 Environment Variables

Add these to your .env.local file:

# Easypanel
EASYPANEL_EMAIL=kunthawat@moreminimore.com
EASYPANEL_PASSWORD=Coolm@n1234mo
EASYPANEL_API_URL=https://panel.moreminimore.com/api

🔗 Quick Reference

API Endpoints

Endpoint Method Purpose
/api/trpc/auth.login POST Get authentication token
/api/trpc/services.mariadb.createService POST Create database
/api/trpc/services.app.createService POST Create application
/api/trpc/services.app.updateDeploy POST Update/redeploy application
/api/trpc/services.app.inspectService GET Get service details
/api/trpc/projects.listProjectsAndServices GET List all services
/api/trpc/services.app.destroyService POST Delete service
/api/trpc/services.app.stopService POST Stop service
/api/trpc/services.app.startService POST Start service
/api/trpc/domains.updateDomain POST Update domain

Service Naming

  • App: {username}-{project_id}
  • Database: {username}-{project_id}-db
  • Duplicate: Append running number (e.g., kunthawat-More-2)

Default Domain

  • Format: {username}-{serviceName}.moreminimore.com
  • Example: kunthawat-kunthawat-More.moreminimore.com

Database Connection String

  • Format: mariadb://{username}:{password}@{projectName}_{serviceName}:3306/{databaseName}
  • Example: mariadb://wp_user:5edwdr930g4jtpawzzpy@database_kunthawat-More-db:3306/kunthawat-More-db

Checklist

Before starting Phase 4 implementation:

  • Easypanel API details documented
  • All endpoints documented
  • Request/response examples provided
  • TypeScript implementation code provided
  • Error handling documented
  • Environment variables documented
  • Service naming conventions documented
  • Domain management workflow documented
  • Dockerfile generation templates provided

🚀 Next Steps

  1. Review the updated SPECIFICATION.md

    • Read the Easypanel Integration section (line 1065 onwards)
    • Understand all endpoints and workflows
    • Review the TypeScript implementation code
  2. Set up environment variables

    • Add Easypanel credentials to .env.local
    • Test authentication
  3. Start Phase 4 implementation

    • Follow the task breakdown in TASKS.md
    • Implement the Easypanel service
    • Test each endpoint
    • Integrate with deployment workflow

📞 Questions?

If you have any questions about the Easypanel API integration:

  1. Check the SPECIFICATION.md file (line 1065 onwards)
  2. Review the API documentation: https://panel.moreminimore.com/api#/
  3. Refer to the TypeScript implementation examples
  4. Ask for clarification on specific endpoints

Update Date: January 19, 2026 Updated By: MoreMinimore Development Team Status: Complete - Ready for Phase 4 Implementation