Skip to main content
Development

Self-host Gitea Actions on a VPS

CI built into Gitea, GitHub-Actions compatible.

Run workflows defined in YAML directly inside Gitea, using a syntax that mirrors GitHub Actions, with your own runners.

Why self-host Gitea Actions?

If you already run Gitea, Actions gives you CI without a second system, and keeps secrets on your own hardware.

How to install Gitea Actions

  1. 1

    Provision a VPS

    Pick a Debian/Ubuntu template and get root SSH in about a minute.

  2. 2

    Install the runtime

    Install Gitea + act_runner.

  3. 3

    Deploy the application

    Net what you need from the project’s official source and run it.

  4. 4

    Put it behind TLS

    Reverse-proxy with Nginx and issue a Let’s Encrypt certificate.

  5. 5

    Add it to your backups

    Include the data directory and database in your backup routine before you rely on it.

Practical tips

  • Give Gitea Actions its own database user with rights only on its own schema.
  • Reverse-proxy Gitea Actions and terminate TLS at the proxy so certificates are managed in one place.
  • Take a VPS snapshot before major upgrades so you can roll back cleanly.
  • Keep Gitea Actions patched — most self-hosting incidents are unpatched software.

Frequently asked questions

How much RAM does Gitea Actions need?
Plan on 2 GB for typical use; add headroom if you expect many concurrent users.
What stack does Gitea Actions run on?
Gitea + act_runner.
Can I run other things on the same VPS?
Yes — size the plan so Gitea Actions plus your other workloads fit in RAM with room to spare.

Looking for something else? Popular alternatives include Drone CI, Woodpecker CI, Forgejo (Actions) — browse all app guides.