Skip to main content

Fully Managed Gitea
as a Service

Deploy Gitea as a fully managed service starting at €9/mo. Get automated backups, SSL, updates, support and monitoring included.

Gitea is an open-source code-hosting platform — Git repositories, pull requests, a built-in Actions runner, and a multi-format package registry — combining the developer-workflow surface of GitHub with the data residency and cost predictability of self-hosted infrastructure. It runs as a single Go binary, scales from a four-person studio to several thousand repositories, and stays under your jurisdiction. We keep it patched and tuned.

Free 7-day trial  99.9% Uptime SLA  No credit card  Cancel anytime

Free 7-day trial  99.9% Uptime SLA
No credit card  Cancel anytime

Gitea

Gitea

STARTING AT

€9/month
Automated Backups
Monitoring
Automated Updates
Auto SSL

USAGE

Unlimited
Human Support
Custom Domains
Terminal Access
File Manager Access
Deploy in your region 21 locations worldwide
GermanyFinlandNetherlandsUKSwedenUnited StatesCanadaSingaporeJapanAustraliaBrazilSouth Africa+9 more →
Gitea Preview Image

ABOUT THE SOFTWARE

What is Gitea

Gitea is an open-source Git hosting service — repositories, pull requests, issues, releases, a built-in CI/CD runner, and a 13-format package registry — written in Go and shipped as a single binary. The project started in 2016 as a Gogs fork and is now MIT-licensed under Gitea Ltd.'s stewardship.

The release 1.26.1 introduced concurrency control in Gitea Actions, a Terraform-state registry alongside the existing package formats, instance-wide info banners, and a replacement for the CSRF cookie mechanism that affects custom reverse-proxy deployments. Gitea Runner 1.0.0 — the standalone Actions runner — reached its first stable line on 5 May 2026.

Gitea is governed by Gitea Ltd., a UK company that holds the trademark and operates Gitea Cloud. The project has roughly 54,900 GitHub stars and supports PostgreSQL, MySQL, MariaDB, MSSQL, and SQLite as database backends. A small-team install — twenty-five users, two hundred repositories — runs comfortably on two vCPU and 2 GiB of RAM with PostgreSQL/MySQL on the same host. The Codeberg-led Forgejo fork shares the 2022 lineage but the codebases now diverge.

FEATURES

What Gitea does

Gitea covers the full developer-workflow surface most teams hit on GitHub or GitLab: Git over SSH and HTTPS, pull requests with required reviewers, issues and milestones, a GitHub-Actions-compatible CI runner, signed releases, a 13-format package registry including container and Terraform state, plus admin tools for mirroring, federation, and OIDC sign-in.

Git hosting

Git over SSH and HTTPS, branch protection rules, signed commits with GPG and SSH keys, required-reviewer policy, draft pull requests, merge-queue-style restrictions. Full Git LFS support including large-file pushes through the reverse proxy.

Package registry

Thirteen formats hosted in one place: Cargo, npm, Maven, NuGet, PyPI, RubyGems, Container, Helm, Conan, Conda, Composer, Vagrant, and a Terraform state registry added in 1.26.0. Per-org scoping, expiry, signed artefacts.

Mirror repositories

Push-mirror and pull-mirror both supported. Pull from GitHub, GitLab, or any reachable Git host on a fixed interval (10-minute minimum). Push outward for cold-standby replication into a second region.

Webhooks and integrations

Per-event webhooks: push, pull request, issue, release, package, workflow run. HMAC-signed payloads. Matrix, Discord, Mattermost, Slack-compatible, and generic-JSON endpoints. Webhook delivery is retried with exponential backoff.

Gitea Actions

GitHub-Actions-compatible YAML, concurrency groups as of 1.26.0, matrix builds, secrets and variables scoped to org or repo, container and shell runners, marketplace actions via the uses: syntax, self-hosted runners with isolated execution.

OIDC and LDAP

External authentication through OIDC providers like Keycloak, Authentik, and Microsoft Entra ID. LDAP and Active Directory for user provisioning and group sync. Multiple auth sources active simultaneously, fall-through chained.

Code search and indexing

Repository-wide code search through Bleve, the bundled indexer. Switch to Elasticsearch for instances above ~50 GB of repository data. Issue search, commit search, and label-aware navigation across all repos a user can read.

Admin and instance controls

Instance-wide info banner for maintenance windows (1.26.0). Org and repo limits configurable per user. Audit log with token, login, and repository events. Sysadmin Web UI plus a gitea CLI for offline operations.

WHAT'S ALWAYS INCLUDED

Every app. Fully managed.
Nothing extra to pay for.

Every app you deploy includes the full managed service — security, backups, updates, and support from day one.

Automatic updates and patches

Apps run the latest stable version. Security patches applied silently, with rollback if needed.

Daily off-site backups

Multiple daily backups in redundant off-site locations. One-click restore if anything goes wrong.

24/7 uptime monitoring

Continuous monitoring with instant alerting. We respond before you notice.

SSL, firewall, DDoS protection

Auto-renewing SSL, hardened firewall rules, DDoS mitigation on every deployment.

Performance and scaling

We monitor resource usage continuously. When your app needs more headroom, we flag it and upgrade with your explicit approval.

Dedicated engineering support

Real engineers on chat. DNS, SMTP & migration help. All included in €9.

WHY MANAGED

Why teams pick managed Gitea

In December 2025, GitHub announced a $0.002-per-minute platform charge applied to every Actions workflow, including self-hosted runners. The self-hosted portion was postponed after community pushback, not cancelled. Teams who don't want to re-architect their CI every time SaaS pricing shifts move the entire pipeline onto managed Gitea instead.

Self-hosting Gitea is not difficult. Keeping it running well is the difficult part. The official documentation warns plainly that there is no recovery command — restoring from a gitea dump archive is a manual process of moving files into place and replaying a database dump, with no built-in safety net. Backup completeness depends on whether you remembered to back up LFS, attachments, the custom directory, and the app.ini alongside the database, since each can live on a different volume.

A second class of failure is silent. The gitea doctor check --all --fix command runs against whatever app.ini it finds, and an unprepared invocation has destroyed every LFS object and attachment on real production instances (Issue #36227 documents one such case). The Gitea Actions runner — fine for one job at a time — loses job-level if: conditionals on older releases (#25897), so reporting jobs either always run or never run depending on which line of the runner is pinned.

REVIEWS

Hear from customers ​like you​​​​​​​

Successful businesses and professionals around the world rely on DANIAN every day

USE CASES

Three teams who run Gitea on DANIAN

Three composite profiles, each based on patterns we see at signup. They share one thing: GitHub or GitLab SaaS was a near-miss for a specific operational reason, not a philosophical one. The DANIAN region, the runner count, and the LFS backend differ — the trigger event rarely does.

 11-PERSON INDUSTRIAL-IOT STARTUP, MUNICH

Their Tier-1 customer's contract forbade source on US-controlled SaaS

Building firmware and a cloud control plane for grid-edge devices, classified as an "important entity" under NIS2. The Tier-1 supplier contract is explicit: no safety-relevant source on US SaaS. They run Gitea in Spain with MySQL, S3-compatible LFS in the same region, three self-hosted runners, OIDC into Keycloak, and a push-mirror to their customer's Azure DevOps EU-Sovereign tenant.

 4-PERSON RUST DEVELOPER-TOOLS STUDIO, TALLINN

Public OSS on GitHub, private build pipeline on Gitea

Public repos stay on GitHub because that is where contributors find them. The signing keys, customer-specific patches, and build pipeline live on DANIAN's Finland region. Local-disk LFS for the small footprint, two Actions runners, container registry for signed cosign artefacts, pull-mirror from public repos on an 8-hour interval, webhook to a self-hosted Discourse for release announcements.

 14-ENGINEER BELGUAN PAYMENTS FINTECH, BRUSSELS

DORA-scoped source-code custody, in-EU, with an incident-ready audit log

DORA in application since January 2025. Source-code repositories supporting critical functions appear in their ICT register of information. Germany region keeps the data in-EU. OIDC sole sign-on through Microsoft Entra, S3-compatible LFS with bucket encryption, custom access-log template carrying X-Request-ID for DORA Article 19 incident traceability, daily dump to a 90-day-retention bucket, signed-commit enforcement on main, push-mirror to a second region for RTO targets.

COMPARISON

Four ways to run Gitea

The choice is rarely "self-host or don't." Most teams arrive comparing Gitea on DANIAN against three other paths: staying on GitHub Team or Enterprise Cloud, running Gitea on a VPS themselves, or running it on a home server. Here is the math at 1, 5, and 10 seats.

 PATH1 SEAT / MO5 SEATS  / MO 10 SEATS / MOONGOING OPS TIME WHERE THE DATA SITS
GitHub Team SaaS
$4$20$40 + $0.002/min Actions platform fee (Jan 2026)None for you — full delegation to GitHub
US-controlled SaaS
Self-host
on a $24/mo production-class VPS
~$24 flat~$24 flat~$24 flat + DB tuning at 25+ users4–8 hours/month; more on upgrade nightsWherever you rented the box
Home server 
(Synology DS923+ or similar NAS)
~€650 one-time + €4/mo electricitySameSame — plus your home internet uptime is the SLA2–6 hours/month plus all break/fixYour apartment
DANIAN Managed Gitea€9€9€9NoneRegion you pick at signup — EU jurisdiction available

At 1 seat, GitHub Team is cheaper. At 5 seats, the per-user math starts inverting. At 10 seats, the Actions platform fee that GitHub announced in December 2025 makes the SaaS path the more expensive option for any team that runs CI. The VPS path is flat-priced but only if you own the operational hours; the "no recovery command" line in Gitea's own docs is what those hours buy you. The home-server path works for one developer and breaks the moment the contract requires a backup in a different building.

The hidden cost in path one isn't the per-seat invoice. It's the architecture lock: once your CI runs on GitHub Actions on GitHub-hosted runners, the data and the workflow live on the same vendor's surface. Moving away is a project, not a config change. Our Gitea Runner is API-compatible, so the YAML you already have transfers without rewriting.

BY INDUSTRY

Gitea for specific industries

Source-code custody is regulated unevenly. A SaaS vendor selling into the EU has CRA documentation duties measured in decades. A FinTech under DORA has incident-reporting clocks measured in hours. The right Gitea configuration is different in each case — region, backup retention, audit-log shape, runner isolation.

The EU Cyber Resilience Act (Regulation 2024/2847) entered into force on 10 December 2024. Vulnerability and incident reporting through ENISA's Single Reporting Platform becomes mandatory on 11 September 2026 — 115 days from the date this page was last edited. Full obligations apply 11 December 2027, including a 10-year minimum retention of technical documentation per Article 31.

DANIAN runs the Gitea instance in Germany, Finland or other location and configures the audit log with retention sized to the CRA's 10-year floor. A tag push on a release branch fires a webhook into a CycloneDX SBOM pipeline; the SBOM lands as a Gitea release asset and registers the release date for the CRA support-period clock. The repo and its release history stay inside one EU jurisdiction for the full retention window.
DORA (Regulation 2022/2554) has been in application since 17 January 2025. More than 22,000 EU financial entities are in scope, and any "critical or important function" carries the obligation to disclose its ICT third-party arrangements — including the source-code repository — in the register of information submitted to the competent authority. Penalties for non-compliant ICT third-party providers can reach 1% of average daily worldwide turnover per day, capped at six months.

DANIAN configures the Gitea instance in an EU region, daily off-region backups retained 7 days, and an SMTP relay routed inside the firm's audit perimeter. Repos tagged function:critical fan out webhooks to the firm's GRC platform on any change. The 24-hour DORA Article 19 initial-notification window is supported by an access-log template that carries X-Request-ID end to end.
NIS2 (Directive 2022/2555) applies from 18 October 2024, with national transpositions live across most Member States by Q1 2026. Article 21(2)(d) makes supply-chain security mandatory: in-scope entities — medium-sized at 50 employees or €10 million turnover, plus "critical" entities below the threshold — must contractually drive cybersecurity requirements down to direct suppliers. Maximum administrative fine is €10 million or 2% of worldwide annual turnover, whichever is higher.

For embedded and industrial-IoT teams, DANIAN runs the Gitea Actions runner pool on a private network with no inbound internet exposure, hosts the container registry inside the same trust boundary, and keeps LFS on regional object storage. The recurring workflow: pull-mirror vendor SDKs into private Gitea on a PAT-authenticated mirror, so the build is reproducible after the upstream GitHub repo is sunset or rebranded.
ITAR (22 CFR 120–130) and the EU dual-use regulation (2021/821) both treat access by a non-eligible person to controlled technical data as an export. A single misrouted clone is one violation. The 2025-adjusted ITAR civil penalty cap is $1,271,078 per violation (or twice the transaction value if higher), per 22 CFR §127.10.

DANIAN runs the Gitea instance in an EU region with IP-allow-list at the reverse proxy, OIDC-only sign-in through a customer IdP that asserts nationality and clearance group claims, and Actions runners pinned to one geography with a runs-on: [self-hosted, eu-only] label requirement. Branch protection requires hardware-token-signed GPG commits on protected branches. There is no GitHub mirror in either direction — clones of the controlled repo cannot leave the instance.

FAQ

Frequently asked questions

Everything teams ask before signing up — answered straight, without sales speak.

Three groups: technical setup, migration, and how DANIAN works as a service.

01

Technical and configuration

GitHub's anonymous API ceiling is 60 requests per hour. Without a PAT in the mirror dialog, a clone of any non-trivial repo can fail mid-stream and leave a unique-key conflict on the next attempt (Issue #15564). We tune the minimum mirror interval to one hour by default and recommend a PAT for any repo larger than a handful of megabytes.
We set LFS_HTTP_AUTH_EXPIRY to 60 minutes — the stock default of 20 minutes drops oversized pushes mid-upload. The proxy passes X-Forwarded-For and X-Forwarded-Proto, sets the public ROOT_URL correctly, and after 1.26.0 we audit the CrossOriginProtection setting per-instance because it replaced the old CSRF cookie and breaks some custom embedding setups.
A small-team install (≤25 users, ≤200 repos, code search off) runs comfortably on 2 vCPU and 2 GiB RAM with MySQL on the same instance. We separate MySQL onto its own resource above ~50 users or when the indexer is enabled. Vertical resize is under five minutes and online.
Yes. The package registry hosts container images, Helm charts, npm, Maven, NuGet, PyPI, RubyGems, Cargo, Conan, Conda, Composer, Vagrant, plus the Terraform state registry added in 1.26.0. Per-org scoping is enforced by token. We tune the registry to share the same regional object storage as LFS.
We do. Most customers run OIDC for sign-in (Keycloak, Authentik, Microsoft Entra, Google Workspace) and LDAP as a provisioning source for groups and inactivation. The two auth sources sit in the Gitea admin UI as a chain — OIDC matches first, LDAP fills in users it doesn't find.

02

Migration and onboarding

We can activate your app on your own custom domain/subdomain. Examples: mydomain.com, anyword.mydomain.com.
Or, on our randomized free subdomain. Example: 963.apps.danian.cloud
If you wish to use a custom domain/subdomain, select that option when ordering your app (or notify us later). We will send you the required DNS records and if needed, our tech team will modify them for you.
21 datacenter locations across six continents. You choose the region at provisioning. Application data sits in the region you choose; pick whichever is closest to your users or matches your data-residency preference.
Yes. Request a region migration from the dashboard and we run the move in the background. The system emails you when the migration completes; total transfer time depends on data volume but typical instances finish in a few hours. There is no extra charge for a region change.
Yes. Full data export is available at any time, in a portable format you can bring to any infrastructure.
Use the migration flow with a GitHub PAT. Branches, tags, and commits always come across. Issues, pull requests, labels, milestones, release assets, comments, and wikis are opt-in checkboxes. Updates after the initial migration require a re-import — there is no incremental sync (#18369).
Mostly. The runs-on label maps to your Gitea Runner's advertised labels; we set sensible defaults at provisioning. Marketplace actions resolve via the gitea:// URL prefix or fall through to github.com. Concurrency groups work as of 1.26.0.
For repositories, yes — the standard Git mirror flow plus per-repo issue and PR export covers it. The two database schemas diverged after Gitea 1.22 and Forgejo 7.x, so an in-place database swap is not supported.
We raise LFS_HTTP_AUTH_EXPIRY and reverse-proxy upload limits ahead of the migration window, do a bare clone first, then git lfs push --all to the new remote outside the migration UI. The UI-driven LFS path times out on anything above a few GB.

03

Billing, support, and platform

€9 covers everything we do for that app: hardware in the region you choose, daily off-site backups with one-click restore, automatic security patches and version upgrades, 24/7 monitoring, SSL and firewall, and engineering support on Email/LiveChat. There are no setup fees or hidden line items. For more info see our Pricing page.
If you decide to continue, we charge €9/app/month from day 8. If you don't, the trial ends and you can export your data. No card is required for the trial, and we never auto-charge you without explicit consent.
No. The €9/month is flat regardless of how many users log into your app. Add 5 users or 50; the price doesn't change.
24/7 Live chat and email support, both staffed by engineers who run the systems. We handle DNS configuration, SMTP setup, app integrations, performance tuning, troubleshooting, and migration help. Response time is typically under an hour. There is no tier system — every customer gets the same support.
Yes. Cancel from the dashboard. We don't charge a cancellation fee, we don't lock data, and we will export your data to you on request before deletion. data to you on request before deletion.
Every customer instance is backed up daily to a separate region from the primary. We test restores. You can request a restore at any backup point within the retention window — usually 7 days for daily backups.
Your application data sits in the region you choose at provisioning — 21 datacenter locations across six continents. Account-level data (billing, account email, support ticket history) is processed centrally. Application data region is picked by you, per app.
99.9% uptime SLA on every app, every tenant. Service credits are documented at danian.co/service-level-agreement. The status page is located at status.danian.co.
When your tenant approaches the resource ceiling — the base tier holds 1 vCPU/RAM, 30 GB storage — we notify you. Resource upgrades happen with your explicit consent; we will not upgrade your tenant or charge you without it.
We wait. We don't suspend the app or delete your data on the first failed charge. We email you, you fix the card on file, and we continue.
Invoices can be downloaded from the billing dashboard in PDF the day each charge succeeds. EU VAT is added where applicable and the VAT-reverse-charge regime applies for VAT-registered businesses with a valid number.
150+ open-source apps across automation, team chat, file sync, analytics, AI, password management, email marketing, dev tools, project management, smart home, CMS, and federated social. See the full catalog →
Yes. Every instance comes with a web-based terminal and a file manager in your DANIAN management dashboard. Useful for managing your data and customizations.
Resources scale with your usage. If your app needs more vCPU, RAM, or storage, we add it — and we ask first before any change to your plan. €9 is the floor; resource-heavy workloads may price higher, but you'll always know in advance.
Yes. We have both a Partner program and an Affiliate program available. Anybody can sign up.
No contract. No minimum commitment. Cancel anytime from the dashboard with one click. The 7-day free trial requires no credit card. After the trial converts to paid, you can still cancel at any month without notice or penalty.

DEPLOY IN YOUR REGION

21 datacenter locations on six continents

Pick the region closest to your users.

United States, Germany, Finland, Singapore, Australia, Brazil, Canada, Netherlands, UK, Spain, Italy, France, Sweden, Malaysia, India, Japan, Mexico, Poland, South Korea, Chile, South Africa and more coming soon

Global Reach Map

Try managed Gitea for 7 days

No card. Cancel from the dashboard.