Auto-sync from website-creator
This commit is contained in:
339
CREDENTIALS_SETUP_GUIDE.md
Normal file
339
CREDENTIALS_SETUP_GUIDE.md
Normal file
@@ -0,0 +1,339 @@
|
||||
# 📋 SEO Skills - Credentials Setup Guide
|
||||
|
||||
**Purpose:** Set up all API credentials for testing all features
|
||||
|
||||
---
|
||||
|
||||
## 🔑 CREDENTIALS REQUIRED BY FEATURE
|
||||
|
||||
### **Core Features (No Credentials Needed)** ✅
|
||||
|
||||
These features work **without any API credentials**:
|
||||
- ✅ Multi-channel content generation (Facebook, Google Ads, Blog, X)
|
||||
- ✅ Thai keyword density analysis
|
||||
- ✅ Thai readability scoring
|
||||
- ✅ Content quality scoring (0-100)
|
||||
- ✅ Context file creation
|
||||
|
||||
**You can test Groups 1-3 immediately without any credentials!**
|
||||
|
||||
---
|
||||
|
||||
### **Image Features (Needs Chutes AI)** 🎨
|
||||
|
||||
**Required for:** Tests 4.1, 4.3
|
||||
|
||||
| Variable | Description | Where to Get |
|
||||
|----------|-------------|--------------|
|
||||
| `CHUTES_API_TOKEN` | API token for image generation/editing | https://chutes.ai/ |
|
||||
|
||||
**Setup:**
|
||||
1. Sign up at https://chutes.ai/
|
||||
2. Get API token from dashboard
|
||||
3. Add to `.env`:
|
||||
```bash
|
||||
CHUTES_API_TOKEN=your_token_here
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **Analytics Features (Optional)** 📊
|
||||
|
||||
**Required for:** Tests 6.2-6.5
|
||||
|
||||
#### **Google Analytics 4**
|
||||
|
||||
| Variable | Description | Where to Get |
|
||||
|----------|-------------|--------------|
|
||||
| `GA4_PROPERTY_ID` | Your GA4 property ID (e.g., G-123456789) | GA4 Admin → Data Streams |
|
||||
| `GA4_CREDENTIALS_PATH` | Path to service account JSON file | Google Cloud Console |
|
||||
|
||||
**Setup:**
|
||||
1. Go to Google Cloud Console
|
||||
2. Create service account
|
||||
3. Download JSON credentials
|
||||
4. Grant service account access to GA4 property
|
||||
5. Add to `.env`:
|
||||
```bash
|
||||
GA4_PROPERTY_ID=G-XXXXXXXXXX
|
||||
GA4_CREDENTIALS_PATH=/path/to/ga4-credentials.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### **Google Search Console**
|
||||
|
||||
| Variable | Description | Where to Get |
|
||||
|----------|-------------|--------------|
|
||||
| `GSC_SITE_URL` | Your verified site URL | GSC dashboard |
|
||||
| `GSC_CREDENTIALS_PATH` | Path to service account JSON file | Google Cloud Console |
|
||||
|
||||
**Setup:**
|
||||
1. Use same service account as GA4 (or create new)
|
||||
2. Grant service account access to GSC property
|
||||
3. Add to `.env`:
|
||||
```bash
|
||||
GSC_SITE_URL=https://yoursite.com
|
||||
GSC_CREDENTIALS_PATH=/path/to/gsc-credentials.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### **DataForSEO**
|
||||
|
||||
| Variable | Description | Where to Get |
|
||||
|----------|-------------|--------------|
|
||||
| `DATAFORSEO_LOGIN` | API login | https://dataforseo.com/ dashboard |
|
||||
| `DATAFORSEO_PASSWORD` | API password | https://dataforseo.com/ dashboard |
|
||||
|
||||
**Setup:**
|
||||
1. Sign up at https://dataforseo.com/
|
||||
2. Get API credentials from dashboard
|
||||
3. Add to `.env`:
|
||||
```bash
|
||||
DATAFORSEO_LOGIN=your_login
|
||||
DATAFORSEO_PASSWORD=your_password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### **Umami Analytics**
|
||||
|
||||
| Variable | Description | Where to Get |
|
||||
|----------|-------------|--------------|
|
||||
| `UMAMI_API_URL` | Your Umami instance URL | Your Umami dashboard |
|
||||
| `UMAMI_API_KEY` | API key from Umami | Umami dashboard → Settings |
|
||||
| `UMAMI_WEBSITE_ID` | Website ID in Umami | Umami dashboard → Websites |
|
||||
|
||||
**Setup:**
|
||||
1. Self-host Umami or use cloud version
|
||||
2. Get API key from dashboard
|
||||
3. Add to `.env`:
|
||||
```bash
|
||||
UMAMI_API_URL=https://analytics.yoursite.com
|
||||
UMAMI_API_KEY=your_api_key
|
||||
UMAMI_WEBSITE_ID=your_website_id
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **Git/Auto-Publish Features (Optional)** 🚀
|
||||
|
||||
**Required for:** Test 5.1 (auto-publish)
|
||||
|
||||
| Variable | Description | Where to Get |
|
||||
|----------|-------------|--------------|
|
||||
| `GIT_USERNAME` | Your Git username | Gitea/GitHub profile |
|
||||
| `GIT_EMAIL` | Your Git email | Gitea/GitHub profile |
|
||||
| `GIT_TOKEN` | Personal access token | Gitea/GitHub settings |
|
||||
| `GIT_URL` | Git server URL | Your Gitea/GitHub instance |
|
||||
|
||||
**Setup:**
|
||||
1. Generate personal access token from Gitea/GitHub
|
||||
2. Add to `.env`:
|
||||
```bash
|
||||
GIT_USERNAME=your_username
|
||||
GIT_EMAIL=your@email.com
|
||||
GIT_TOKEN=your_token
|
||||
GIT_URL=https://git.moreminimore.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 SETUP WORKFLOW
|
||||
|
||||
### **Step 1: Copy .env.example**
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill
|
||||
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
### **Step 2: Edit .env**
|
||||
|
||||
```bash
|
||||
nano .env # or use your preferred editor
|
||||
```
|
||||
|
||||
### **Step 3: Add Your Credentials**
|
||||
|
||||
**Minimum for testing core features (nothing required!):**
|
||||
```bash
|
||||
# Leave everything blank - core features still work!
|
||||
```
|
||||
|
||||
**For full testing:**
|
||||
```bash
|
||||
# Images (for Tests 4.1, 4.3)
|
||||
CHUTES_API_TOKEN=your_chutes_token
|
||||
|
||||
# Git (for Test 5.1)
|
||||
GIT_USERNAME=your_username
|
||||
GIT_EMAIL=your@email.com
|
||||
GIT_TOKEN=your_git_token
|
||||
|
||||
# Analytics (for Tests 6.2-6.5, skip if you don't have)
|
||||
GA4_PROPERTY_ID=G-XXXXXXXXXX
|
||||
GA4_CREDENTIALS_PATH=/path/to/ga4.json
|
||||
GSC_SITE_URL=https://yoursite.com
|
||||
GSC_CREDENTIALS_PATH=/path/to/gsc.json
|
||||
DATAFORSEO_LOGIN=your_login
|
||||
DATAFORSEO_PASSWORD=your_password
|
||||
UMAMI_API_URL=https://analytics.yoursite.com
|
||||
UMAMI_API_KEY=your_key
|
||||
UMAMI_WEBSITE_ID=your_id
|
||||
```
|
||||
|
||||
### **Step 4: Verify Setup**
|
||||
|
||||
```bash
|
||||
# Check .env exists
|
||||
ls -la .env
|
||||
|
||||
# Check it has your credentials (first 5 chars only)
|
||||
grep "^CHUTES_API_TOKEN=" .env | cut -c1-20
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ CREDENTIAL CHECKLIST
|
||||
|
||||
Before testing, check which credentials you have:
|
||||
|
||||
### **Core Features (No credentials needed)**
|
||||
- [ ] None required! Ready to test Groups 1-3
|
||||
|
||||
### **Image Features**
|
||||
- [ ] `CHUTES_API_TOKEN` - Required for Tests 4.1, 4.3
|
||||
- [ ] Skip if not available (image features are optional)
|
||||
|
||||
### **Git/Auto-Publish**
|
||||
- [ ] `GIT_USERNAME`
|
||||
- [ ] `GIT_EMAIL`
|
||||
- [ ] `GIT_TOKEN`
|
||||
- [ ] Required for Test 5.1
|
||||
|
||||
### **Analytics (All Optional)**
|
||||
- [ ] `GA4_PROPERTY_ID` + `GA4_CREDENTIALS_PATH` - Test 6.2
|
||||
- [ ] `GSC_SITE_URL` + `GSC_CREDENTIALS_PATH` - Test 6.3
|
||||
- [ ] `DATAFORSEO_LOGIN` + `DATAFORSEO_PASSWORD` - Test 6.4
|
||||
- [ ] `UMAMI_API_URL` + `UMAMI_API_KEY` + `UMAMI_WEBSITE_ID` - Test 6.5
|
||||
|
||||
---
|
||||
|
||||
## 🧪 TESTING STRATEGY
|
||||
|
||||
### **Phase 1: Test Without Credentials** (Recommended Start)
|
||||
|
||||
Test these features that don't need any credentials:
|
||||
- ✅ Group 1: Content generation (all 5 channels)
|
||||
- ✅ Group 2: Thai analysis (keyword, readability, quality)
|
||||
- ✅ Group 3: Context management
|
||||
|
||||
**Time:** 1 hour
|
||||
**Credentials needed:** None!
|
||||
|
||||
---
|
||||
|
||||
### **Phase 2: Add Image Credentials**
|
||||
|
||||
Add `CHUTES_API_TOKEN` and test:
|
||||
- ✅ Group 4: Image generation and editing
|
||||
|
||||
**Time:** 30 minutes
|
||||
**Credentials needed:** Chutes AI token only
|
||||
|
||||
---
|
||||
|
||||
### **Phase 3: Add Git Credentials**
|
||||
|
||||
Add Git credentials and test:
|
||||
- ✅ Group 5: Auto-publish to Astro
|
||||
|
||||
**Time:** 20 minutes
|
||||
**Credentials needed:** Git token + Chutes (optional)
|
||||
|
||||
---
|
||||
|
||||
### **Phase 4: Add Analytics Credentials** (Optional)
|
||||
|
||||
Add analytics credentials if you have them:
|
||||
- ✅ Group 6: Analytics integrations
|
||||
|
||||
**Time:** 30 minutes
|
||||
**Credentials needed:** GA4/GSC/DataForSEO/Umami (any you have)
|
||||
|
||||
---
|
||||
|
||||
## 🔒 SECURITY NOTES
|
||||
|
||||
1. **NEVER commit .env** - It's in .gitignore for a reason!
|
||||
2. **Use separate service accounts** for each service when possible
|
||||
3. **Limit service account permissions** to read-only where possible
|
||||
4. **Rotate tokens regularly** for security
|
||||
5. **Use environment variables** in production instead of .env file
|
||||
|
||||
---
|
||||
|
||||
## 📞 TROUBLESHOOTING
|
||||
|
||||
### **Issue: Credentials Not Being Read**
|
||||
|
||||
**Check:**
|
||||
```bash
|
||||
# Verify .env file exists
|
||||
ls -la .env
|
||||
|
||||
# Check it's being loaded (add to your script)
|
||||
python3 -c "from dotenv import load_dotenv; load_dotenv(); import os; print(os.getenv('CHUTES_API_TOKEN', 'Not set'))"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **Issue: GA4/GSC Authentication Failed**
|
||||
|
||||
**Common causes:**
|
||||
- Service account doesn't have access to GA4/GSC property
|
||||
- Wrong credentials path
|
||||
- JSON file corrupted
|
||||
|
||||
**Fix:**
|
||||
1. In GA4 Admin → Add user with service account email
|
||||
2. Grant "Viewer" or "Analyst" role
|
||||
3. Verify credentials path is absolute path
|
||||
|
||||
---
|
||||
|
||||
### **Issue: Git Push Fails**
|
||||
|
||||
**Common causes:**
|
||||
- Token doesn't have write permissions
|
||||
- Wrong Git URL
|
||||
- Repository doesn't exist
|
||||
|
||||
**Fix:**
|
||||
1. Generate new token with `repo` or `write` scope
|
||||
2. Verify Git URL is correct
|
||||
3. Create repository first if it doesn't exist
|
||||
|
||||
---
|
||||
|
||||
## 📖 QUICK REFERENCE
|
||||
|
||||
| Feature | Credentials | Test | Status |
|
||||
|---------|-------------|------|--------|
|
||||
| Content Generation | None | 1.1-1.3 | ✅ Ready |
|
||||
| Thai Analysis | None | 2.1-2.3 | ✅ Ready |
|
||||
| Context Management | None | 3.1-3.2 | ✅ Ready |
|
||||
| Image Generation | CHUTES_API_TOKEN | 4.1, 4.3 | ⏳ Optional |
|
||||
| Image Editing | CHUTES_API_TOKEN | 4.2, 4.3 | ⏳ Optional |
|
||||
| Auto-Publish | GIT_* | 5.1 | ⏳ Optional |
|
||||
| GA4 | GA4_* | 6.2 | ⏳ Optional |
|
||||
| GSC | GSC_* | 6.3 | ⏳ Optional |
|
||||
| DataForSEO | DATAFORSEO_* | 6.4 | ⏳ Optional |
|
||||
| Umami | UMAMI_* | 6.5 | ⏳ Optional |
|
||||
|
||||
---
|
||||
|
||||
**Ready to test! Start with Phase 1 (no credentials needed).** 🚀
|
||||
Reference in New Issue
Block a user