Spaces:
Runtime error
Runtime error
Paijo commited on
Add DEPLOYMENT_SUMMARY.md
Browse files- DEPLOYMENT_SUMMARY.md +162 -0
DEPLOYMENT_SUMMARY.md
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# OpenClaw Docker Space - Deployment Summary
|
| 2 |
+
|
| 3 |
+
## β
Task Completion
|
| 4 |
+
|
| 5 |
+
### 1. Hugging Face Space Created
|
| 6 |
+
- **Space Name**: `openclaw-army-node-2`
|
| 7 |
+
- **Owner**: `paijo77`
|
| 8 |
+
- **SDK**: Docker
|
| 9 |
+
- **Visibility**: Public
|
| 10 |
+
- **Space URL**: https://huggingface.co/spaces/paijo77/openclaw-army-node-2
|
| 11 |
+
|
| 12 |
+
### 2. Files Uploaded
|
| 13 |
+
- β
`Dockerfile` - Docker configuration for OpenClaw
|
| 14 |
+
- β
`README.md` - Space documentation with proper YAML metadata
|
| 15 |
+
- β
`.dockerignore` - Docker build exclusions
|
| 16 |
+
- β
`.gitignore` - Git exclusions
|
| 17 |
+
|
| 18 |
+
### 3. Dockerfile Contents
|
| 19 |
+
```dockerfile
|
| 20 |
+
FROM node:22-slim
|
| 21 |
+
|
| 22 |
+
# Create app directory
|
| 23 |
+
WORKDIR /home/node/openclaw
|
| 24 |
+
|
| 25 |
+
# Install OpenClaw globally
|
| 26 |
+
RUN npm install -g openclaw@latest
|
| 27 |
+
|
| 28 |
+
# Set environment variable
|
| 29 |
+
ENV OPENCLAW_NODE_MODE=true
|
| 30 |
+
|
| 31 |
+
# Expose default Gateway port
|
| 32 |
+
EXPOSE 18789
|
| 33 |
+
|
| 34 |
+
# Set working directory for OpenClaw
|
| 35 |
+
WORKDIR /home/node/openclaw
|
| 36 |
+
|
| 37 |
+
# Command to start the Gateway
|
| 38 |
+
CMD ["openclaw", "gateway", "--port", "18789"]
|
| 39 |
+
```
|
| 40 |
+
|
| 41 |
+
## β οΈ Required Actions
|
| 42 |
+
|
| 43 |
+
### Set Environment Variable
|
| 44 |
+
The `OPENCLAW_NODE_MODE=true` environment variable **MUST** be set in the Space settings:
|
| 45 |
+
|
| 46 |
+
1. Visit: https://huggingface.co/spaces/paijo77/openclaw-army-node-2/-/settings
|
| 47 |
+
2. Scroll to "Environment Variables" section
|
| 48 |
+
3. Add the variable:
|
| 49 |
+
- Name: `OPENCLAW_NODE_MODE`
|
| 50 |
+
- Value: `true`
|
| 51 |
+
- Type: `Variable` (not Secret)
|
| 52 |
+
|
| 53 |
+
### Monitor Space Logs
|
| 54 |
+
After setting the environment variable, monitor the Space logs to get the pairing code:
|
| 55 |
+
|
| 56 |
+
1. Visit: https://huggingface.co/spaces/paijo77/openclaw-army-node-2/-/settings
|
| 57 |
+
2. Scroll to "Logs" section
|
| 58 |
+
3. Check for pairing code output in the logs
|
| 59 |
+
4. Pair the node using: `openclaw pairing approve <channel> <code>`
|
| 60 |
+
|
| 61 |
+
## π Koyeb Free Tier Research
|
| 62 |
+
|
| 63 |
+
### Koyeb Pricing Overview
|
| 64 |
+
|
| 65 |
+
#### **Free Tier (Starter Plan)**
|
| 66 |
+
- β
**Cost**: $0/month (free forever)
|
| 67 |
+
- β
**Web Services**: 1 free Web Service
|
| 68 |
+
- β
**Databases**: 1 free Database (Serverless Postgres)
|
| 69 |
+
- β
**Custom Domains**: 5 free custom domains
|
| 70 |
+
- β
**Scale-to-Zero**: Yes
|
| 71 |
+
- β
**Autoscaling**: Yes
|
| 72 |
+
- β
**CPU & GPU**: Available
|
| 73 |
+
- β
**Regions**: US, EU, Asia
|
| 74 |
+
|
| 75 |
+
#### **Hardware Details**
|
| 76 |
+
- **Free Web Service**:
|
| 77 |
+
- 512MB RAM
|
| 78 |
+
- CPU (scaled to demand)
|
| 79 |
+
- Can be deployed in Europe or US regions
|
| 80 |
+
- **Free Database**:
|
| 81 |
+
- 50 hours/month usage
|
| 82 |
+
- Can be deployed in Europe, US, or Asia
|
| 83 |
+
|
| 84 |
+
#### **Usage Billing**
|
| 85 |
+
- Pay-per-second billing after free tier usage
|
| 86 |
+
- Processing charged per second (rounded up)
|
| 87 |
+
- Bandwidth: ~$0.04/GB transferred
|
| 88 |
+
- Bandwidth usage included in free tier
|
| 89 |
+
|
| 90 |
+
### Koyeb Deployment for OpenClaw
|
| 91 |
+
|
| 92 |
+
#### **Pros for OpenClaw**
|
| 93 |
+
1. **True Serverless**: Scale to zero when inactive
|
| 94 |
+
2. **Multiple Regions**: Deploy in US, EU, or Asia
|
| 95 |
+
3. **Managed Postgres**: Optional database service
|
| 96 |
+
4. **Custom Domains**: Easy to set up
|
| 97 |
+
5. **Free Tier**: Generous free allocation
|
| 98 |
+
|
| 99 |
+
#### **Cons**
|
| 100 |
+
1. **512MB RAM limit** on free tier (may be tight for heavy workloads)
|
| 101 |
+
2. **Database has 50 hours/month limit**
|
| 102 |
+
3. **No GPU support** on free tier
|
| 103 |
+
|
| 104 |
+
#### **Recommended Setup for OpenClaw**
|
| 105 |
+
- **Web Service**: Use free tier with 512MB RAM
|
| 106 |
+
- **Region**: Choose based on user location (US/EU/Asia)
|
| 107 |
+
- **Database**: Optional - OpenClaw can run without persistent storage
|
| 108 |
+
- **Environment Variables**: Set `OPENCLAW_NODE_MODE=true` via Koyeb dashboard
|
| 109 |
+
|
| 110 |
+
#### **Koyeb Deployment Steps**
|
| 111 |
+
1. Go to koyeb.com and sign up (free tier, no credit card required)
|
| 112 |
+
2. Create a new Web Service
|
| 113 |
+
3. Connect GitHub repository or upload Dockerfile
|
| 114 |
+
4. Set environment variables:
|
| 115 |
+
- `OPENCLAW_NODE_MODE=true`
|
| 116 |
+
5. Choose region (US/EU/Asia)
|
| 117 |
+
6. Deploy
|
| 118 |
+
|
| 119 |
+
## π Comparison: Hugging Face vs Koyeb for OpenClaw
|
| 120 |
+
|
| 121 |
+
| Feature | Hugging Face Spaces | Koyeb Free Tier |
|
| 122 |
+
|---------|-------------------|----------------|
|
| 123 |
+
| **Cost** | Free (CPU only) | Free (limited) |
|
| 124 |
+
| **RAM** | 16GB | 512MB |
|
| 125 |
+
| **Scale-to-Zero** | No (pauses after inactivity) | Yes |
|
| 126 |
+
| **Docker Support** | β
Yes | β
Yes |
|
| 127 |
+
| **Custom Domains** | No | β
5 free |
|
| 128 |
+
| **Managed DB** | No | β
Yes (50h/month) |
|
| 129 |
+
| **GPU** | Optional (paid) | β
Available |
|
| 130 |
+
| **Best For** | Testing, demos | Production-like workloads |
|
| 131 |
+
|
| 132 |
+
## π― Recommendation
|
| 133 |
+
|
| 134 |
+
**For a 3rd Node**:
|
| 135 |
+
|
| 136 |
+
1. **Use Koyeb Free Tier** if:
|
| 137 |
+
- You need true serverless (scale to zero)
|
| 138 |
+
- You want custom domain support
|
| 139 |
+
- You might need managed database later
|
| 140 |
+
- You can work with 512MB RAM limit
|
| 141 |
+
|
| 142 |
+
2. **Use Hugging Face Space** if:
|
| 143 |
+
- You need more RAM (16GB available)
|
| 144 |
+
- You want to keep it simple
|
| 145 |
+
- You don't need custom domains
|
| 146 |
+
- You're okay with pausing after inactivity
|
| 147 |
+
|
| 148 |
+
## π Next Steps
|
| 149 |
+
|
| 150 |
+
1. β
Hugging Face Space created and files uploaded
|
| 151 |
+
2. β οΈ Set `OPENCLAW_NODE_MODE=true` environment variable in HF Space settings
|
| 152 |
+
3. β οΈ Monitor logs to get pairing code
|
| 153 |
+
4. β οΈ Set up node pairing
|
| 154 |
+
5. π Consider deploying to Koyeb as alternative 3rd node option
|
| 155 |
+
|
| 156 |
+
## π Useful Links
|
| 157 |
+
|
| 158 |
+
- **HF Space**: https://huggingface.co/spaces/paijo77/openclaw-army-node-2
|
| 159 |
+
- **HF Settings**: https://huggingface.co/spaces/paijo77/openclaw-army-node-2/-/settings
|
| 160 |
+
- **Koyeb Pricing**: https://koyeb.com/pricing
|
| 161 |
+
- **Koyeb Docs**: https://koyeb.com/docs
|
| 162 |
+
- **OpenClaw Docs**: https://openclaw.ai
|