- Document DEFAULT_ACTIONS_URL=self and REQUIRE_SIGNIN_VIEW=false - Correct runner setup: internal URL, config.yaml mount, no .netrc - Add shared composite actions table (calver, gitea-tag, discord-notify) - Document action reference rules (short form local, full URL GitHub) - Add auth troubleshooting entry - Update reference implementations with all 5 projects - Replace semver references with CalVer Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.9 KiB
6.9 KiB
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