Removed unnecessary stuff
This commit is contained in:
-364
@@ -1,364 +0,0 @@
|
||||
# Deployment Guide
|
||||
|
||||
This guide explains how to upload the documentation to GitHub and deploy it online.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Automatic Upload (Recommended)](#automatic-upload)
|
||||
2. [Manual Upload](#manual-upload)
|
||||
3. [Deploy to GitHub Pages](#deploy-to-github-pages)
|
||||
4. [Alternative Hosting](#alternative-hosting)
|
||||
|
||||
---
|
||||
|
||||
## Automatic Upload (Recommended)
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Git installed on your system
|
||||
- GitHub account credentials or Personal Access Token
|
||||
|
||||
### Steps
|
||||
|
||||
1. **Navigate to the project directory:**
|
||||
|
||||
```bash
|
||||
cd /path/to/xui-one-api-docs
|
||||
```
|
||||
|
||||
2. **Run the upload script:**
|
||||
|
||||
```bash
|
||||
./upload-to-github.sh
|
||||
```
|
||||
|
||||
3. **Follow the prompts:**
|
||||
- Enter commit message (or press Enter for default)
|
||||
- Provide GitHub credentials when prompted
|
||||
|
||||
4. **Done!** Your documentation is now on GitHub.
|
||||
|
||||
---
|
||||
|
||||
## Manual Upload
|
||||
|
||||
If you prefer manual control or the automatic script doesn't work:
|
||||
|
||||
### Step 1: Initialize Git
|
||||
|
||||
```bash
|
||||
cd /path/to/xui-one-api-docs
|
||||
git init
|
||||
```
|
||||
|
||||
### Step 2: Add Remote
|
||||
|
||||
```bash
|
||||
git remote add origin https://github.com/worldofiptvcom/xui-one-api-docs.git
|
||||
```
|
||||
|
||||
### Step 3: Stage Files
|
||||
|
||||
```bash
|
||||
git add .
|
||||
```
|
||||
|
||||
### Step 4: Commit
|
||||
|
||||
```bash
|
||||
git commit -m "Initial commit: Add XUI.ONE API documentation with authentication section"
|
||||
```
|
||||
|
||||
### Step 5: Set Branch
|
||||
|
||||
```bash
|
||||
git branch -M main
|
||||
```
|
||||
|
||||
### Step 6: Push to GitHub
|
||||
|
||||
```bash
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
**Note:** You'll be prompted for GitHub credentials.
|
||||
|
||||
---
|
||||
|
||||
## Authentication Options
|
||||
|
||||
### Option 1: Personal Access Token (Recommended)
|
||||
|
||||
1. **Generate Token:**
|
||||
- Go to GitHub: Settings → Developer settings → Personal access tokens → Tokens (classic)
|
||||
- Click "Generate new token (classic)"
|
||||
- Select scopes: `repo` (Full control of private repositories)
|
||||
- Generate and copy the token
|
||||
|
||||
2. **Use Token:**
|
||||
- When prompted for password, paste your token instead
|
||||
|
||||
### Option 2: GitHub CLI
|
||||
|
||||
```bash
|
||||
# Install GitHub CLI
|
||||
# macOS
|
||||
brew install gh
|
||||
|
||||
# Linux
|
||||
sudo apt install gh
|
||||
|
||||
# Windows
|
||||
winget install --id GitHub.cli
|
||||
|
||||
# Authenticate
|
||||
gh auth login
|
||||
|
||||
# Push repository
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
### Option 3: SSH Key
|
||||
|
||||
1. **Generate SSH Key:**
|
||||
|
||||
```bash
|
||||
ssh-keygen -t ed25519 -C "your_email@example.com"
|
||||
```
|
||||
|
||||
2. **Add to GitHub:**
|
||||
- Copy public key: `cat ~/.ssh/id_ed25519.pub`
|
||||
- Go to GitHub: Settings → SSH and GPG keys → New SSH key
|
||||
- Paste and save
|
||||
|
||||
3. **Change Remote URL:**
|
||||
|
||||
```bash
|
||||
git remote set-url origin git@github.com:worldofiptvcom/xui-one-api-docs.git
|
||||
```
|
||||
|
||||
4. **Push:**
|
||||
|
||||
```bash
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Deploy to GitHub Pages
|
||||
|
||||
After uploading to GitHub, deploy the documentation website:
|
||||
|
||||
### Step 1: Enable GitHub Pages
|
||||
|
||||
1. Go to your repository on GitHub
|
||||
2. Click **Settings** tab
|
||||
3. Scroll to **Pages** section (left sidebar)
|
||||
4. Under **Source**:
|
||||
- Branch: `main`
|
||||
- Folder: `/ (root)`
|
||||
5. Click **Save**
|
||||
|
||||
### Step 2: Wait for Deployment
|
||||
|
||||
- GitHub will build your site (takes 1-2 minutes)
|
||||
- Check the Actions tab to see deployment progress
|
||||
|
||||
### Step 3: Access Your Documentation
|
||||
|
||||
Your documentation will be available at:
|
||||
|
||||
```
|
||||
https://worldofiptvcom.github.io/xui-one-api-docs/
|
||||
```
|
||||
|
||||
Open `index.html` to view the interactive Swagger UI documentation.
|
||||
|
||||
### Custom Domain (Optional)
|
||||
|
||||
1. **Add CNAME file:**
|
||||
|
||||
```bash
|
||||
echo "docs.yoursite.com" > CNAME
|
||||
git add CNAME
|
||||
git commit -m "Add custom domain"
|
||||
git push
|
||||
```
|
||||
|
||||
2. **Configure DNS:**
|
||||
- Add CNAME record: `docs.yoursite.com` → `worldofiptvcom.github.io`
|
||||
|
||||
3. **Update GitHub Pages:**
|
||||
- Settings → Pages → Custom domain
|
||||
- Enter: `docs.yoursite.com`
|
||||
- Save
|
||||
|
||||
---
|
||||
|
||||
## Alternative Hosting
|
||||
|
||||
### Netlify
|
||||
|
||||
1. **Connect Repository:**
|
||||
- Go to https://netlify.com
|
||||
- New site from Git
|
||||
- Select your GitHub repository
|
||||
|
||||
2. **Build Settings:**
|
||||
- Build command: (leave empty)
|
||||
- Publish directory: `/`
|
||||
|
||||
3. **Deploy:**
|
||||
- Click Deploy Site
|
||||
- Done! Your site is live
|
||||
|
||||
### Vercel
|
||||
|
||||
1. **Import Project:**
|
||||
- Go to https://vercel.com
|
||||
- Import Git Repository
|
||||
- Select your repository
|
||||
|
||||
2. **Deploy:**
|
||||
- Click Deploy
|
||||
- Done! Your site is live
|
||||
|
||||
### GitLab Pages
|
||||
|
||||
1. **Create `.gitlab-ci.yml`:**
|
||||
|
||||
```yaml
|
||||
pages:
|
||||
stage: deploy
|
||||
script:
|
||||
- mkdir .public
|
||||
- cp -r * .public
|
||||
- mv .public public
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
||||
only:
|
||||
- main
|
||||
```
|
||||
|
||||
2. **Push to GitLab:**
|
||||
|
||||
```bash
|
||||
git remote add gitlab https://gitlab.com/yourusername/xui-one-api-docs.git
|
||||
git push gitlab main
|
||||
```
|
||||
|
||||
### Self-Hosted
|
||||
|
||||
1. **Copy Files to Web Server:**
|
||||
|
||||
```bash
|
||||
scp -r xui-one-api-docs/* user@your-server.com:/var/www/html/docs/
|
||||
```
|
||||
|
||||
2. **Configure Nginx:**
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name docs.yoursite.com;
|
||||
root /var/www/html/docs;
|
||||
index index.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
3. **Restart Nginx:**
|
||||
|
||||
```bash
|
||||
sudo systemctl restart nginx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Updating Documentation
|
||||
|
||||
When you make changes:
|
||||
|
||||
```bash
|
||||
# Stage changes
|
||||
git add .
|
||||
|
||||
# Commit
|
||||
git commit -m "Update: Add Streams API documentation"
|
||||
|
||||
# Push
|
||||
git push origin main
|
||||
```
|
||||
|
||||
GitHub Pages will automatically rebuild and deploy.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### "Permission Denied" Error
|
||||
|
||||
**Solution:**
|
||||
- Use Personal Access Token instead of password
|
||||
- Or set up SSH key authentication
|
||||
|
||||
### "Repository Not Found" Error
|
||||
|
||||
**Solution:**
|
||||
- Verify repository URL: `git remote -v`
|
||||
- Ensure repository exists on GitHub
|
||||
- Check you have access rights
|
||||
|
||||
### GitHub Pages Not Working
|
||||
|
||||
**Solution:**
|
||||
- Verify Pages is enabled in repository settings
|
||||
- Check Actions tab for deployment status
|
||||
- Ensure `index.html` exists in repository root
|
||||
- Wait a few minutes for initial deployment
|
||||
|
||||
### Changes Not Appearing
|
||||
|
||||
**Solution:**
|
||||
- Clear browser cache
|
||||
- Wait 1-2 minutes for GitHub Pages rebuild
|
||||
- Check if git push was successful
|
||||
|
||||
---
|
||||
|
||||
## Viewing Locally
|
||||
|
||||
Before deploying, test locally:
|
||||
|
||||
```bash
|
||||
# Using Python
|
||||
python3 -m http.server 8000
|
||||
|
||||
# Using Node.js
|
||||
npx http-server
|
||||
|
||||
# Using PHP
|
||||
php -S localhost:8000
|
||||
```
|
||||
|
||||
Then open: `http://localhost:8000/index.html`
|
||||
|
||||
---
|
||||
|
||||
## Support
|
||||
|
||||
- **GitHub Issues:** Report deployment problems
|
||||
- **GitHub Discussions:** Ask deployment questions
|
||||
- **World of IPTV:** Community support
|
||||
|
||||
---
|
||||
|
||||
**Need help?** Open an issue on GitHub with:
|
||||
- What you tried
|
||||
- Error messages
|
||||
- Your operating system
|
||||
- Screenshots if applicable
|
||||
@@ -1,299 +0,0 @@
|
||||
# 🚀 Upload Instructions for XUI.ONE API Documentation
|
||||
|
||||
## 📦 What You Have
|
||||
|
||||
I've created a complete documentation structure for XUI.ONE API with:
|
||||
|
||||
- ✅ OpenAPI 3.0.3 specification (openapi.yaml)
|
||||
- ✅ Interactive Swagger UI (index.html)
|
||||
- ✅ Comprehensive README
|
||||
- ✅ Getting Started guide
|
||||
- ✅ Contributing guidelines
|
||||
- ✅ Deployment instructions
|
||||
- ✅ Automated upload script
|
||||
- ✅ MIT License
|
||||
- ✅ .gitignore file
|
||||
|
||||
**Current Status:** Category 1 (Authentication & Getting Started) is **COMPLETE** ✅
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Quick Start (2 Options)
|
||||
|
||||
### Option A: Automatic Upload (Easiest) ⭐
|
||||
|
||||
1. **Open Terminal in the project folder**
|
||||
2. **Run the script:**
|
||||
```bash
|
||||
cd xui-one-api-docs
|
||||
./upload-to-github.sh
|
||||
```
|
||||
3. **Follow prompts and enter GitHub credentials**
|
||||
4. **Done!** 🎉
|
||||
|
||||
### Option B: Manual Upload
|
||||
|
||||
1. **Open Terminal in the project folder**
|
||||
2. **Run these commands:**
|
||||
|
||||
```bash
|
||||
cd xui-one-api-docs
|
||||
|
||||
# Initialize git
|
||||
git init
|
||||
|
||||
# Add remote
|
||||
git remote add origin https://github.com/worldofiptvcom/xui-one-api-docs.git
|
||||
|
||||
# Stage all files
|
||||
git add .
|
||||
|
||||
# Commit
|
||||
git commit -m "Initial commit: Add XUI.ONE API documentation with authentication section"
|
||||
|
||||
# Set branch name
|
||||
git branch -M main
|
||||
|
||||
# Push to GitHub
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
3. **Enter GitHub credentials when prompted**
|
||||
4. **Done!** 🎉
|
||||
|
||||
---
|
||||
|
||||
## 🔐 GitHub Authentication
|
||||
|
||||
You'll need to authenticate when pushing. Here are your options:
|
||||
|
||||
### Recommended: Personal Access Token
|
||||
|
||||
1. **Go to GitHub:**
|
||||
- Settings → Developer settings → Personal access tokens → Tokens (classic)
|
||||
|
||||
2. **Generate new token:**
|
||||
- Click "Generate new token (classic)"
|
||||
- Give it a name: "XUI API Docs"
|
||||
- Select scope: ✅ `repo` (Full control of private repositories)
|
||||
- Click "Generate token"
|
||||
- **Copy the token immediately** (you won't see it again!)
|
||||
|
||||
3. **Use token when pushing:**
|
||||
- Username: `worldofiptvcom`
|
||||
- Password: `<paste your token here>`
|
||||
|
||||
### Alternative: GitHub CLI
|
||||
|
||||
```bash
|
||||
# Install GitHub CLI (if not installed)
|
||||
# macOS:
|
||||
brew install gh
|
||||
|
||||
# Linux:
|
||||
sudo apt install gh
|
||||
|
||||
# Windows:
|
||||
winget install --id GitHub.cli
|
||||
|
||||
# Authenticate
|
||||
gh auth login
|
||||
|
||||
# Then push normally
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Deploy Documentation Website
|
||||
|
||||
After uploading to GitHub:
|
||||
|
||||
### Step 1: Enable GitHub Pages
|
||||
|
||||
1. Go to: https://github.com/worldofiptvcom/xui-one-api-docs
|
||||
2. Click **Settings** tab
|
||||
3. Scroll to **Pages** (left sidebar)
|
||||
4. Under **Build and deployment**:
|
||||
- **Source:** Deploy from a branch
|
||||
- **Branch:** main
|
||||
- **Folder:** / (root)
|
||||
5. Click **Save**
|
||||
|
||||
### Step 2: Wait for Deployment
|
||||
|
||||
- GitHub will automatically build your site (1-2 minutes)
|
||||
- Check progress in **Actions** tab
|
||||
|
||||
### Step 3: Access Your Live Documentation
|
||||
|
||||
Your documentation will be available at:
|
||||
|
||||
```
|
||||
https://worldofiptvcom.github.io/xui-one-api-docs/
|
||||
```
|
||||
|
||||
Open `index.html` for the interactive Swagger UI! 🎊
|
||||
|
||||
---
|
||||
|
||||
## 📁 What's Included
|
||||
|
||||
```
|
||||
xui-one-api-docs/
|
||||
├── 📄 openapi.yaml # Main API specification (OpenAPI 3.0.3)
|
||||
├── 🌐 index.html # Interactive Swagger UI
|
||||
├── 📖 README.md # Project overview and documentation
|
||||
├── 🚀 DEPLOYMENT.md # Detailed deployment guide
|
||||
├── 🤝 CONTRIBUTING.md # Contribution guidelines
|
||||
├── 📄 LICENSE # MIT License
|
||||
├── 🙈 .gitignore # Git ignore rules
|
||||
├── 📜 upload-to-github.sh # Automated upload script
|
||||
├── docs/
|
||||
│ ├── 📘 getting-started.md # Complete setup guide
|
||||
│ ├── categories/
|
||||
│ │ └── 📋 01-get-info.md # Placeholder for next category
|
||||
│ └── examples/ # (Empty - for future code examples)
|
||||
└── postman/ # (Empty - for future Postman collection)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Completed in This Release
|
||||
|
||||
### 1. Authentication & Setup ✅
|
||||
- `user_info` endpoint fully documented
|
||||
- Complete OpenAPI specification
|
||||
- Authentication guide
|
||||
- Security best practices
|
||||
- Example code in cURL, Python, PHP, JavaScript
|
||||
|
||||
### 2. Project Infrastructure ✅
|
||||
- GitHub repository structure
|
||||
- Contributing guidelines
|
||||
- Deployment instructions
|
||||
- Automated upload script
|
||||
- Interactive Swagger UI
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Next Steps (Future Categories)
|
||||
|
||||
After uploading, we'll add documentation for:
|
||||
|
||||
2. **GET INFO** - Query operations (get_lines, get_users, get_streams, etc.)
|
||||
3. **Line API** - Subscription management
|
||||
4. **Logs & Events** - Monitoring
|
||||
5. **User API** - User management
|
||||
6. **MAG API** - MAG devices
|
||||
7. **Enigma API** - Enigma2 STBs
|
||||
8. **Streams API** - Live streams
|
||||
9. **Channel API** - Channels
|
||||
10. **Station API** - Radio stations
|
||||
11. **Movie API** - VOD movies
|
||||
12. **Series API** - Series
|
||||
13. **Episode API** - Episodes
|
||||
14. **Servers API** - Server management
|
||||
|
||||
Each category will include:
|
||||
- Complete endpoint documentation
|
||||
- All parameters
|
||||
- Response examples
|
||||
- Code examples in multiple languages
|
||||
- Use cases and best practices
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Test Locally Before Uploading
|
||||
|
||||
Want to preview the documentation first?
|
||||
|
||||
```bash
|
||||
cd xui-one-api-docs
|
||||
|
||||
# Option 1: Python
|
||||
python3 -m http.server 8000
|
||||
|
||||
# Option 2: Node.js
|
||||
npx http-server
|
||||
|
||||
# Option 3: PHP
|
||||
php -S localhost:8000
|
||||
```
|
||||
|
||||
Then open: http://localhost:8000/index.html
|
||||
|
||||
---
|
||||
|
||||
## 🆘 Troubleshooting
|
||||
|
||||
### Problem: "Permission denied" when running script
|
||||
|
||||
**Solution:**
|
||||
```bash
|
||||
chmod +x upload-to-github.sh
|
||||
./upload-to-github.sh
|
||||
```
|
||||
|
||||
### Problem: "Authentication failed"
|
||||
|
||||
**Solution:**
|
||||
- Use Personal Access Token instead of password
|
||||
- Make sure token has `repo` scope
|
||||
- Or use GitHub CLI: `gh auth login`
|
||||
|
||||
### Problem: "Repository not found"
|
||||
|
||||
**Solution:**
|
||||
- Verify you created the repository on GitHub
|
||||
- Check the URL is correct: https://github.com/worldofiptvcom/xui-one-api-docs
|
||||
- Ensure you're logged in to GitHub
|
||||
|
||||
### Problem: Changes not showing on GitHub Pages
|
||||
|
||||
**Solution:**
|
||||
- Clear browser cache
|
||||
- Wait 1-2 minutes for rebuild
|
||||
- Check Actions tab for deployment status
|
||||
|
||||
---
|
||||
|
||||
## 📞 Need Help?
|
||||
|
||||
1. **Check DEPLOYMENT.md** - Detailed deployment guide
|
||||
2. **Check CONTRIBUTING.md** - How to contribute
|
||||
3. **Open GitHub Issue** - Report problems
|
||||
4. **World of IPTV Forums** - Community support
|
||||
|
||||
---
|
||||
|
||||
## 🎉 You're All Set!
|
||||
|
||||
Once uploaded, you'll have:
|
||||
|
||||
- ✅ Professional API documentation
|
||||
- ✅ Interactive testing interface (Swagger UI)
|
||||
- ✅ Live website on GitHub Pages
|
||||
- ✅ Version controlled documentation
|
||||
- ✅ Community contribution ready
|
||||
- ✅ Foundation for remaining categories
|
||||
|
||||
**Ready to upload? Run:** `./upload-to-github.sh`
|
||||
|
||||
---
|
||||
|
||||
## 📝 After Upload Checklist
|
||||
|
||||
- [ ] Repository uploaded successfully
|
||||
- [ ] GitHub Pages enabled
|
||||
- [ ] Documentation website accessible
|
||||
- [ ] Swagger UI working correctly
|
||||
- [ ] Update repository description on GitHub
|
||||
- [ ] Add topics/tags to repository (api, documentation, iptv, xuione, openapi)
|
||||
- [ ] Share with community!
|
||||
|
||||
---
|
||||
|
||||
**Made with ❤️ for the XUI.ONE community**
|
||||
|
||||
Questions? Open an issue on GitHub!
|
||||
Reference in New Issue
Block a user