Self-Hosting Gitea Actions: CI/CD Without GitHub
Gitea Actions provides GitHub Actions-compatible CI/CD on your own server. Same YAML workflows, no GitHub dependency.
What Are Gitea Actions?
Gitea Actions is a CI/CD system built into Gitea that's compatible with GitHub Actions workflow syntax. Your existing .github/workflows YAML files work with minimal changes.
Why Self-Host CI/CD?
Compatibility
Gitea Actions supports:
Setup
1. Enable Actions in Gitea settings
2. Register a runner (the machine that executes workflows)
3. Add workflow files to your repository
4. Push and watch it run
Example Workflow
.gitea/workflows/ci.yml:
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
with:
node-version: 20
Almost identical to a GitHub Actions workflow.
Self-Hosted Runners
Runners execute your workflows. Run them on:
Deployment
1. Gitea is already deployed on TinyPod
2. Enable Gitea Actions in settings
3. Register the act runner
4. Add workflow files to repos
5. CI/CD runs on every push
Resources: Runner needs 1-2 CPU, 2 GB RAM depending on build complexity.
Migration from GitHub Actions
1. Copy .github/workflows/ to .gitea/workflows/
2. Replace github.com-specific actions with compatible versions
3. Update any GitHub-specific environment variables
4. Most workflows work with zero changes