DEMO-SETUP.mdβ’4.47 kB
# π³ Coolify MCP μλ² - λ‘컬 λ°λͺ¨ νκ²½
## π― λͺ©ν
λ‘컬μμ μμ ν Coolify νκ²½μ ꡬμΆνμ¬ MCP μλ²λ₯Ό ν
μ€νΈν©λλ€.
## π μ¬μ μꡬμ¬ν
### Docker Desktop μ€μΉ λ° μ€ν
1. **Docker Desktop λ€μ΄λ‘λ**: https://www.docker.com/products/docker-desktop
2. **μ€μΉ ν μ€ν**: Applications/Docker.app
3. **λ©λͺ¨λ¦¬ μ€μ **: Docker Desktop β Settings β Resources β Memoryλ₯Ό **4GB μ΄μ**μΌλ‘ μ€μ
## π λΉ λ₯Έ μμ
### 1λ¨κ³: Docker μν νμΈ
```bash
cd demo-server
./check-docker.sh
```
### 2λ¨κ³: λ°λͺ¨ μλ² μμ
```bash
./setup.sh
```
### 3λ¨κ³: Coolify μ μ λ° μ€μ
1. **λΈλΌμ°μ μμ μ μ**: http://localhost:8000
2. **κ΄λ¦¬μ κ³μ μμ±** (첫 λ°©λ¬Έ μ)
3. **API ν ν° μμ±**:
- Settings β Keys & Tokens β API Tokens
- Create New Token
- Name: "MCP Demo Token"
- Permissions: "*" (full access)
- **ν ν° λ³΅μ¬** (ν λ²λ§ νμλ¨!)
### 4λ¨κ³: νκ²½ λ³μ μ€μ
```bash
cd .. # μμ λλ ν°λ¦¬λ‘ μ΄λ
echo "COOLIFY_BASE_URL=http://localhost:8000" >> .env
echo "COOLIFY_API_TOKEN=볡μ¬ν-ν ν°-μ¬κΈ°μ-λΆμ¬λ£κΈ°" >> .env
```
### 5λ¨κ³: MCP μλ² ν
μ€νΈ
```bash
npm run dev
```
λ€λ₯Έ ν°λ―Έλμμ:
```bash
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node dist/index.js
```
## π§ νμν μ 보 μμ§ λ°©λ²
### API ν ν° μμ±
1. http://localhost:8000 μ μ
2. κ΄λ¦¬μ κ³μ μΌλ‘ λ‘κ·ΈμΈ
3. **Settings** (βοΈ) ν΄λ¦
4. **Keys & Tokens** ν΄λ¦
5. **API Tokens** ν μ ν
6. **Create New Token** λ²νΌ ν΄λ¦
7. λ€μ μ 보 μ
λ ₯:
- **Name**: "MCP Demo Token"
- **Permissions**: "*" μ ν (μ 체 μ κ·Ό)
8. **Create** ν΄λ¦
9. **μμ±λ ν ν°μ μ¦μ 볡μ¬** (λ€μ λ³Ό μ μμ)
### μλ² ID νμΈ (ν
μ€νΈ μ± μμ±μ©)
1. Coolify λμ보λμμ **Servers** ν΄λ¦
2. λ‘컬 μλ²μ **ID 볡μ¬** (μ: srv_xxx...)
### ν
μ€νΈ μ ν리μΌμ΄μ
μμ±
```bash
# MCP μλ²λ₯Ό ν΅ν μ ν리μΌμ΄μ
μμ± ν
μ€νΈ
echo '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "coolify_application_management",
"arguments": {
"action": "create",
"name": "demo-app",
"git_repository": "https://github.com/vercel/next.js",
"git_branch": "canary",
"serverId": "μλ²-ID-μ¬κΈ°μ"
}
}
}' | node dist/index.js
```
## π κ΄λ¦¬ λͺ
λ Ήμ΄
### μλ² μν νμΈ
```bash
cd demo-server
docker compose ps
```
### λ‘κ·Έ νμΈ
```bash
docker compose logs -f coolify
```
### μλ² μ¬μμ
```bash
docker compose restart
```
### μλ² μ€μ§
```bash
docker compose down
```
### μμ μ΄κΈ°ν (λͺ¨λ λ°μ΄ν° μμ )
```bash
docker compose down -v
```
## π§ͺ ν
μ€νΈ μλ리μ€
### 1. μ°κ²° ν
μ€νΈ
```bash
curl http://localhost:8000/api/v1/health
```
### 2. μΈμ¦ ν
μ€νΈ
```bash
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8000/api/v1/applications
```
### 3. MCP λꡬ ν
μ€νΈ
```bash
# μ ν리μΌμ΄μ
λͺ©λ‘
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "coolify_application_management", "arguments": {"action": "list"}}}' | node dist/index.js
# μμ€ν
μ 보
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "coolify_system_management", "arguments": {"action": "get_servers"}}}' | node dist/index.js
# λ¬Έμ κ²μ
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "coolify_documentation", "arguments": {"action": "search", "query": "deployment"}}}' | node dist/index.js
```
## π λ¬Έμ ν΄κ²°
### ν¬νΈ μΆ©λ (8000 ν¬νΈ μ¬μ© μ€)
```yaml
# docker-compose.yml μμ
ports:
- "8001:80" # ν¬νΈ λ³κ²½
```
### λ©λͺ¨λ¦¬ λΆμ‘±
- Docker Desktop β Settings β Resources β Memoryλ₯Ό 6-8GBλ‘ μ¦κ°
### 컨ν
μ΄λ μμ μ€ν¨
```bash
docker compose down -v # λͺ¨λ λ°μ΄ν° μμ
docker compose up -d # μ¬μμ
```
### API ν ν° λΆμ€
1. Coolifyμμ κΈ°μ‘΄ ν ν° μμ
2. μ ν ν° μμ±
3. .env νμΌ μ
λ°μ΄νΈ
## π μ±κ³΅ μ§ν
- β
Coolifyκ° http://localhost:8000μμ μ κ·Ό κ°λ₯
- β
API ν ν°μΌλ‘ μΈμ¦ μ±κ³΅
- β
MCP μλ²κ° 4κ° ν΅ν© λꡬ μ 곡
- β
λ¬Έμ κ²μ κΈ°λ₯ μλ
- β
μ ν리μΌμ΄μ
μμ±/κ΄λ¦¬ ν
μ€νΈ μ±κ³΅
**μ΄μ Docker Desktopμ μμνκ³ `./check-docker.sh`λ₯Ό μ€νν΄μ£ΌμΈμ!** π