All checks were successful
Reindex Knowledge Base / reindex (push) Successful in 3s
Adds title, description, type, domain, and tags frontmatter to every doc for improved KB semantic search. The description field is prepended to every search chunk, and domain/type/tags enable filtered queries. Type values: context, guide, runbook, reference, troubleshooting Domain values match directory structure (networking, docker, etc.) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7.2 KiB
7.2 KiB
| title | description | type | domain | tags | |||||
|---|---|---|---|---|---|---|---|---|---|
| Gitea Templates and Guides Index | Quick-reference index for all Gitea CI/CD documentation, workflow templates, deployment strategies, and Harbor registry setup. Includes directory structure, common tasks, and learning path. | context | server-configs |
|
Gitea Configuration & Templates Index
Quick reference for all Gitea-related documentation and templates.
📁 Directory Structure
/server-configs/gitea/
├── README.md # Gitea LXC setup and configuration
├── INDEX.md # This file - quick reference
├── deployment-strategies.md # When/how to deploy (manual vs auto)
├── harbor-registry-setup.md # Self-hosted Docker registry guide
├── apply_branch_protection.py # Script for branch protection rules
└── workflow-templates/ # Reusable CI/CD templates
├── README.md # Template usage guide
├── docker-build-template.yml # Complete Docker CI/CD workflow
├── deploy-script-template.sh # Safe manual deployment script
└── snippets/ # Workflow code snippets
└── auto-deploy-with-rollback.yml
🚀 Quick Links
Getting Started
- New to Gitea Actions? → Start with
workflow-templates/README.md - Need a workflow? → Copy
docker-build-template.yml - Want to deploy? → Read
deployment-strategies.md
Templates
Docker Build Workflow
File: workflow-templates/docker-build-template.yml
Features:
- ✅ CalVer versioning (YYYY.MM.BUILD) via shared
cal/gitea-actions/calveraction - ✅ Docker build + push to Docker Hub
- ✅ Discord notifications via shared
cal/gitea-actions/discord-notifyaction - ✅ Git tagging via shared
cal/gitea-actions/gitea-tagaction - ✅ Build caching (registry-based)
- ✅ Multi-tag strategy (latest, version, version+sha, dev)
Use for:
- Discord bots
- Web applications
- API services
- Any Dockerized project
Manual Deploy Script
File: workflow-templates/deploy-script-template.sh
Features:
- ✅ Pre-deployment checks
- ✅ Confirmation prompts
- ✅ Status verification
- ✅ Log viewing
- ✅ Rollback instructions
Use when:
- You want manual control
- Deploying to production
- Testing new deployments
Auto-Deploy with Rollback
File: workflow-templates/snippets/auto-deploy-with-rollback.yml
Features:
- ✅ SSH deployment
- ✅ Health checks
- ✅ Automatic rollback
- ✅ Deployment notifications
Use when:
- You have good test coverage
- Health checks are implemented
- Downtime is acceptable
Guides
Deployment Strategies
File: deployment-strategies.md
Covers:
- Decision framework (when to auto-deploy)
- 5 levels of deployment automation
- Recommendations by project type
- Safety best practices
- Rollback procedures
Read this before: Adding auto-deploy to any project
Harbor Registry Setup
File: harbor-registry-setup.md
Covers:
- Self-hosted Docker registry
- Complete Harbor installation
- Integration with Gitea Actions
- Vulnerability scanning
- Backup strategies
Use when:
- You want private registries
- You hit Docker Hub rate limits
- You want full control
- Learning opportunity
📝 Reference Implementations
Projects Using Shared Actions
All use cal/gitea-actions composite actions (CalVer, git tagging, Discord notify):
| Project | Workflow | Type |
|---|---|---|
| major-domo-database | docker-build.yml |
Docker build + push |
| paper-dynasty-discord | docker-build.yml |
Docker build + push |
| paper-dynasty-database | build.yml |
Docker build + push |
| major-domo-v2 | docker-build.yml |
Docker build + push |
| vagabond-rpg-foundryvtt | deploy.yml |
Build + rsync deploy |
Lessons Learned
- Runner
GITEA_INSTANCE_URLmust use internal IP, not public domain (host mismatch breaks auth) DEFAULT_ACTIONS_URL=self+ short-form refs for local actions, full URLs for GitHub actionsREQUIRE_SIGNIN_VIEW=falseis safe — only public repos are exposed, private repos stay locked- Registry-based Docker build cache (
type=registry) requires Docker Hub login on every build - Manual deploy preferred for production Discord bots (health checks needed before auto-deploy)
🔧 Common Tasks
Create New Project Workflow
cd /path/to/your/repo
mkdir -p .gitea/workflows
# Copy from an existing project (e.g., major-domo-database)
cp /mnt/NV2/Development/major-domo/database/.gitea/workflows/docker-build.yml \
.gitea/workflows/docker-build.yml
# Customize:
# - Replace Docker Hub image name (manticorum67/your-project)
# - Replace project title in Discord notifications
# - Add repo secrets: DOCKERHUB_USERNAME, DOCKERHUB_TOKEN, DISCORD_WEBHOOK
#
# Action reference rules (DEFAULT_ACTIONS_URL=self):
# - Local actions: short form (cal/gitea-actions/calver@main)
# - GitHub actions: full URL (https://github.com/actions/checkout@v4)
Add Auto-Deploy (When Ready)
# Copy auto-deploy snippet
cat workflow-templates/snippets/auto-deploy-with-rollback.yml
# Add to your workflow after build step
# Configure secrets: DEPLOY_SSH_KEY, PRODUCTION_HOST, DEPLOY_USER
Manual Deploy
# Copy deploy script to your repo
cp workflow-templates/deploy-script-template.sh /path/to/repo/deploy.sh
chmod +x /path/to/repo/deploy.sh
# Customize server details in script
# Then use: ./deploy.sh v1.2.3
🎓 Learning Path
- Start: Read
workflow-templates/README.md - Setup: Deploy Gitea Actions runner (see
README.md) - First workflow: Copy
docker-build-template.yml - Deploy: Use
deploy-script-template.sh - Advanced: Read
deployment-strategies.md - Optional: Set up Harbor with
harbor-registry-setup.md
🆘 Troubleshooting
CalVer version looks wrong
- CalVer is auto-generated from git tags (YYYY.MM.BUILD)
- BUILD number counts tags in the current month
- Ensure
fetch-depth: 0in checkout step (needs full tag history)
Docker Hub push failing
- Verify secrets set in Gitea
- Check Docker Hub token permissions
- Ensure repo name matches exactly
Discord notifications not appearing
- Verify webhook URL still valid
- Check timestamp format (ISO 8601)
- Test webhook manually with curl
More help
- Check specific template comments
- Read troubleshooting sections in guides
- Review Paper Dynasty as reference implementation
📚 External Resources
🔄 Maintenance
Update this index when:
- Adding new templates
- Creating new guides
- Changing directory structure
- Adding reference implementations
Last updated: 2026-02-18
Quick search tips:
- Need deployment guide? →
deployment-strategies.md - Need workflow template? →
workflow-templates/ - Need self-hosted registry? →
harbor-registry-setup.md - Need deploy script? →
deploy-script-template.sh