Drone Enterprise license limits vs self-hosted Woodpecker CI

Drone Enterprise is free only below US$1 million revenue and covers up to 15 users per instance. This page sets those license terms against the cost of running Woodpecker CI, which has no user limit, including infrastructure, migration, support and skills.

On this page

Where Drone Enterprise license limits meet the cost of self-hosted Woodpecker CI

A team whose Drone user count is nearing 15, or whose company revenue is climbing toward US$1 million, needs to know what the license does at that point. The license line is only one cost. Self-hosting Woodpecker CI moves recurring spend into infrastructure, operations and people, so the comparison should cover total run cost, not the license fee alone. The Drone Enterprise terms supplied for this page are free use below US$1 million in revenue and up to 15 users per instance. Drone is now managed by Harness under the Polyform Small Business license, so confirm the current terms with Harness, including how users and revenue are counted, before you decide. This section gives no Drone Enterprise price and no Woodpecker support fee.

Woodpecker CI is licensed under Apache-2.0, so its software carries no per-user charge. Its costs are the infrastructure and labor to run it. A server provides the UI and API and receives forge webhooks, agents run workflows and connect to the server over gRPC, and an optional autoscaler creates cloud VMs for pending builds. Each of these is a recurring line item that grows with concurrent builds and pipeline volume. The administration documentation notes that Woodpecker uses SQLite by default and recommends PostgreSQL or MariaDB for larger instances, so a larger install adds a database you must back up, patch and monitor. The Woodpecker about page explains the project's history. Staff time for upgrades, plugin checks and incident response is often the largest recurring item, and no license fee covers it.

Turn the comparison into a written cost model with one line per component: compute for the server and agents, the database, storage for logs and artifacts, network egress, backup and restore tests, and engineering hours for upgrades and on-call. Mark which items are one-time, such as migration, pipeline conversion and re-entering secrets, and which recur. Ask Harness to confirm current Drone Enterprise terms in writing. If you buy implementation or support, ask for the exact scope, response expectations and exclusions in the quote. DeployOpen plans, implements and supports self-hosted platforms inside your own infrastructure under fixed scope agreed in writing, with ongoing support available as a retainer. It does not publish prices, so a quote follows from that written scope.

Cost components on each side and which ones recur

This table compares each cost component on the Drone Enterprise and self-hosted Woodpecker CI sides, including who pays and whether the cost is one-time or recurring. Read the last column first to separate setup work from ongoing spend. The main takeaway is that Woodpecker removes the license line and the per-user limit, but its operating costs move onto your team or a support retainer.

Cost componentDrone EnterpriseWoodpecker CIOne-time or recurring
License or subscriptionPolyform Small Business terms apply: free only below US$1 million revenue and up to 15 users per instanceNo license fee. Woodpecker is licensed under Apache-2.0Recurring for Drone Enterprise above the free terms. None for Woodpecker
Server and databaseYour team hosts the Drone server and its database, sized by users and build volumeYou run the server for UI, API and webhooks. SQLite by default, PostgreSQL or MariaDB for larger instancesRecurring for hosting. One-time for initial setup
Agent capacityBuild agents you run. Check the Enterprise terms for any agent or concurrency limitsAgents run on Docker, Kubernetes or a local machine. An optional autoscaler creates cloud VMs for pending buildsRecurring, because compute is used on every build
ImplementationInstallation, forge connection and pipeline conversion, done once per instanceInstallation, forge OAuth setup, pipeline files and agent configuration, done once per instanceOne-time
Migration of secrets, pipelines and historyExport pipeline files and record secrets, since stored values may not be readable from the Drone database. Confirm with HarnessRe-enter secrets and forge OAuth applications. Check Drone plugins that may need adjustments before cut-overOne-time, but it runs in parallel with the old server during cut-over
Vendor or partner supportHarness supports Enterprise subscribers. Confirm what the subscription includes and its response termsWoodpecker is a community project with no vendor contract. Support comes from your team or a partner retainerRecurring if you keep a retainer. One-time if support is a fixed-scope project
Upgrades and patchingHarness publishes releases under the subscription, and your team applies themYour team tracks releases such as 3.19.0 (October 7, 2026), reviews changes and applies themRecurring, at each release cycle
Internal skillsAdmins learn Drone configuration, Harness processes and the license termsAdmins need Docker or Kubernetes, Woodpecker YAML and forge administrationRecurring as staff change roles or leave

What moves the comparison up or down

Drone Enterprise and self-hosted Woodpecker CI put cost in different places, so the answer depends on your headcount, your revenue, your build load and the skills you already have. Each driver below moves the comparison in a direction you can measure in your own environment before you ask for a quote.

Named user count

Drone Enterprise licenses cover up to 15 users per instance, so a team of 15 or fewer people stays within that limit. Woodpecker CI has no user limit, so headcount growth adds no license line. Count who logs in to the server, who edits pipelines and who needs read access only. Then ask Harness how it counts users in your contract, because the definition decides whether a small team is actually inside the limit.

Annual revenue threshold

Drone's free use depends on staying below US$1 million in revenue, so growth can change your licensing position without any change in how you run the software. Read the Polyform Small Business terms to see how revenue is measured and whether affiliates or subsidiaries count. Ask Harness to confirm the threshold and the upgrade path in writing before you plan hiring or acquisitions around it.

Build volume and agent count

Infrastructure cost follows how many builds run in parallel and how long they take, which sets how many agents you need. Woodpecker agents run workflows on Docker, Kubernetes or the local machine, and an optional autoscaler can create cloud VMs for pending builds. Measure peak concurrent pipelines, queue wait time and average job duration over a month. Size agent capacity from those peaks, and use total daily build count only as context.

Database choice for larger instances

Woodpecker uses SQLite by default, and the project recommends PostgreSQL or MariaDB for larger instances. SQLite is simple to run on a single server, but it becomes harder to live with as build history and user activity grow, and changing databases later requires a migration window. Measure how many pipelines you keep, your expected growth and whether your team already operates a database with backups and monitoring. Confirm the sizing with a load test in your own environment.

Availability for server and agents

The server receives forge webhooks and serves the UI and API, so an outage stops new builds from starting even when agents are healthy. Agents connect to the server over gRPC, so a server restart pauses dispatch for every pipeline. Decide how long a stalled pipeline is tolerable for each team. Then cost the redundancy for the database, the server and at least two agents in your own infrastructure, including the on-call effort that comes with it.

In-house Kubernetes and Docker skills

Woodpecker's Kubernetes backend runs each step in a standalone pod and creates a temporary persistent volume claim for the pipeline, ReadWriteMany by default, to share files between steps. Teams without cluster experience either build that skill or pay an implementation partner, while a Docker-only host lowers the skill bar. Inventory who can operate the cluster, storage classes and upgrades, and confirm that your cluster supports ReadWriteMany volumes.

What the Drone license change means for your license decision

Your license decision starts with a change in terms, before any feature comparison. Drone CI was first released under the Apache 2.0 license and later moved to a proprietary license. In 2019 developers forked Drone 0.8 as Woodpecker, renamed on August 27, 2019. Drone is now managed by Harness under the *Polyform Small Business* license. The Woodpecker about page records this history. Woodpecker's code is licensed under Apache-2.0 and its documentation under CC BY-SA 4.0, so the engine you run carries terms that your legal team can read directly in the project repository.

The Polyform Small Business terms are the document to put in front of counsel. Ask counsel to compare the license text with your annual revenue, your legal entity structure, the number of people who will use the server, and how the software is used, including internal builds and any customer-facing services. Do not rely on summaries from third parties. Confirm the current Enterprise thresholds and the metric that counts users with Harness in writing, and ask whether the terms change at renewal or when your usage grows. Record the answers with the date you received them.

Plan the decision around the renewal date. A written answer from Harness and a written legal opinion on your own usage should exist before you sign or expand, and they should name the product version and the scope they cover. Also review the licenses of the parts that Woodpecker pulls in: plugin container images, base images and any Helm chart or agent images you adopt each carry their own terms, and those terms are not covered by the Apache-2.0 license of the Woodpecker code. Build this review into the migration plan so the self-hosted option is judged on the full license stack, not only on the engine.

How to build the cost comparison with your own numbers

This sequence turns the Drone Enterprise license terms and your current usage into a like-for-like annual comparison with self-hosted Woodpecker CI, using quotes you can defend to finance and procurement.

  1. Inventory the current Drone license position

    Start with the license document your organization holds for Drone, not a summary. Record which edition and license terms apply, your annual revenue figure as the license defines it, and the number of named users who access the Drone server. Ask Harness in writing to confirm how the Polyform Small Business license and the Enterprise Edition apply to your revenue and user count, and keep that written answer on file. The output is a one-page license position that states the terms, the user count and any date your current agreement ends.

  2. Count repositories, pipelines and build capacity

    Export the list of active repositories from your forge and the Drone pipeline history for a period you choose. Record repositories, pipelines per day, builds per day, peak concurrent builds and the agent or machine capacity that serves them today. Note which builds run on Docker, Kubernetes or the local machine, because that decides how many Woodpecker agents you will need. The output is a usage sheet that other steps can reference, so every later cost line traces back to a measured number.

  3. Price the Woodpecker infrastructure

    Price each component at your own cloud or data center rates: the Woodpecker server, the database (SQLite is the default, while PostgreSQL or MariaDB are recommended for larger instances), the agents sized from your peak concurrency, and the optional autoscaler that creates cloud VMs for pending builds. Include storage for the temporary volumes that Kubernetes backends create per pipeline, and the network egress for image pulls. Ask your platform team to confirm each unit rate in writing. The output is a monthly infrastructure line with one row per component and the rate source named next to it.

  4. Add one-time migration and implementation effort

    Migration covers converting pipeline files to Woodpecker syntax, reviewing Drone plugins that may need adjustments, moving secrets and forge OAuth applications, and running both servers side by side during cut-over. Your internal staff time is one cost, and any external implementation work is another. Request a fixed-scope written proposal from implementation partners, including DeployOpen, that lists scope, deliverables and timelines before work begins. The output is a one-time cost table with internal hours and each written quote as separate rows.

  5. Estimate recurring operations, upgrades and support

    List the recurring work your team will carry: patching the server and agents, applying Woodpecker releases, monitoring, backups of the database and configuration, and on-call coverage for failed builds. Decide whether support comes from your own staff, from a community channel, or from a paid retainer, and request written quotes for any retainer. Keep the Harness renewal quote on its own line rather than merging it with the open-source figures, so the comparison shows exactly what each option costs. The output is a recurring cost table with an owner named for each row.

  6. Compare annual totals over a fixed period

    Add one-time costs to recurring costs for each option across the same fixed period, usually three years, so that one-time migration costs are spread fairly. Show the Drone and Harness line, the Woodpecker infrastructure line and the operations line side by side, and run a sensitivity check on peak concurrency and user count. Ask finance to review the assumptions before the numbers go to a decision meeting. The output is one comparison table with the source of every input, which you can rerun when the license or your usage changes.

How the infrastructure cost changes by agent backend

This is the simplest model. You run a Woodpecker server and one or more agents on virtual machines or physical hosts that you already operate, and each agent runs workflow steps in containers on the Docker engine. Because the hosts are fixed, your infrastructure cost is mostly the machines themselves, plus the time your team spends patching them and keeping the server database healthy. Woodpecker uses SQLite by default, and the administration documentation recommends PostgreSQL or MariaDB for larger instances, so a database service is a recurring component to plan for.

  • Node count: Cost scales with the number of agent hosts you keep running, whether or not they are busy.
  • Idle capacity: Fixed hosts sit idle outside peak hours, so utilization is the main lever on cost.
  • Storage: Local disks hold container images and workspace data, so image cache size grows with your build history.
  • Skills needed: Linux administration, Docker host hardening and basic database operations.
  • Scaling limit: Adding capacity means provisioning another host and registering another agent by hand.

Before committing, confirm with your security team how agent hosts are isolated from production networks and where build caches are stored and purged.

Costs teams forget on each side of the comparison

Licence fees are only one part of the decision. The items below are the migration and operating tasks that most often get missed when a team moves from Drone to Woodpecker CI, and they are the ones that shape the real cost of each option.

Re-entering CI secrets

Most hosted and self-managed CI platforms will not export secret values, so the team cannot copy deployment credentials into Woodpecker automatically. GitHub's API returns Actions secret names without values, and CircleCI does not show environment variable values after they are set. Plan to re-enter every secret in Woodpecker, then rotate the credentials behind them, especially if they were ever exposed to a hosted CI service. Build an inventory of secrets per repository before cut-over so no pipeline fails on its first run.

Exporting build history

Hosted CI platforms keep artifacts for limited periods, so older build output may already be gone or will expire during the move. GitHub Actions defaults to 90 days, CircleCI sets 30 days as both default and maximum, and Bitbucket Pipelines keeps artifacts for at most 14 days. Decide which artifacts, logs and release evidence must be kept for audit or rollback, and export them before the source platform is switched off.

Recreating forge OAuth applications

Woodpecker connects to the forge through its own OAuth application, so the team must register a new one on GitHub, Gitea, Forgejo, GitLab or Bitbucket and point it at the new server. Each repository then needs to be activated again in Woodpecker, and users may need to log in once more. Assign an owner for the OAuth registration and its client secret, and record where that secret is stored, because it controls access to every connected repository.

Adjusting Drone plugins

Woodpecker's documentation says Drone plugins generally work but can need adjustments. Each plugin image should be tested against the pipelines that use it, and settings blocks, environment variables and file paths should be checked against the plugin's Woodpecker usage. Plugins that have not been updated in a long time carry their own maintenance risk, so review the image source and pin a version. Budget test time for this step, since it is the most likely source of failed builds after cut-over.

Experimental multi-forge support

Woodpecker lists several forges, but its documentation states that connecting multiple forges to one server is still experimental. Teams with repositories on more than one platform, for example GitHub for some projects and Gitea or GitLab for others, may need one Woodpecker server per forge or may need to accept a configuration that is not yet production-grade. Confirm the forge mix with the project maintainers before choosing an architecture, and test webhook and status reporting on each forge.

Running the CI server in-house

A self-hosted Woodpecker server, its agents and its database are a service the team operates. Someone must handle on-call response for failed builds and outages, backups of the database and configuration, upgrades for each release, and patching of the host, container runtime and any Kubernetes cluster. These tasks recur every month, and they are where most of the operating cost sits. Compare that effort with the Drone Enterprise seat and revenue terms and the commercial support you would buy, using a written scope and an agreed service level.

Questions buyers ask before they cost out a move from Drone Enterprise

What drives the cost of running Woodpecker CI in our own environment?

The license fee is zero, so the cost is the infrastructure and the people who run it. Infrastructure includes the server, the agents, the database and, if you use the Kubernetes backend, the cluster capacity and storage for each pipeline. People cost covers upgrades, monitoring, backups and access management. Setup and migration work is one-time. Infrastructure, operations and any support contract recur. Build volume, concurrency, the number of agents, database size and whether the optional autoscaler creates cloud VMs for pending builds all push costs up or down. Ask any vendor or partner to split their quote into one-time and recurring lines and to show the sizing assumptions behind each.

How long does a migration from Drone Enterprise take?

No fixed duration applies to every team, so the answer depends on what you run. The main drivers are the number of repositories and pipelines, how many Drone plugins need adjustment (the Woodpecker docs say Drone plugins generally work but could need some changes), how many secrets must be re-entered because CI secrets usually cannot be exported, how many forge OAuth applications need to be set up again, and whether you run both servers side by side during cut-over. Ask for a timeline in the written scope that lists these items with an acceptance check for each.

What Kubernetes and forge skills does a Woodpecker team need?

You need Kubernetes skills only if you run agents on that backend. Each step runs in its own pod, and the pipeline uses a temporary persistent volume claim that defaults to 10G with ReadWriteMany access, so your cluster's storage class must support that access mode. Your team also needs to keep the server and agents connected over gRPC and manage webhooks and OAuth applications on your forge. Woodpecker supports GitHub, Gitea, Forgejo, GitLab, Bitbucket and Bitbucket Datacenter, and connecting several forges to one server is still experimental, so confirm your forge combination in the forge documentation before you commit.

Can our own team migrate from Drone to Woodpecker without outside help?

A team with container, forge and CI administration experience can often do the work itself, especially for a small instance with Docker-based agents and a short list of pipelines. The harder cases involve many pipelines, Kubernetes-backed agents, multiple forges, strict change control or an audit trail that must show each step. Check whether your team has the time and the skills for pipeline conversion, secrets handling, testing and cut-over at the same time as its normal work. If you want outside help, DeployOpen plans, implements and documents self-hosted platforms in your own infrastructure under a written, fixed scope.

How are Woodpecker upgrades handled across releases like 3.18.0 and 3.19.0?

Plan each upgrade as a tested change. The project's GitHub releases list 3.18.0 on August 24, 2026, 3.18.1 in September 2026 and 3.19.0 on October 7, 2026. Release 3.19.0 fixed an injection of matrix environment variables into the default clone step and enforces agent labels on the server. Before you upgrade, review pipelines that use matrix variables and confirm every agent carries the labels your workflows expect, because the server now enforces them. Test on a staging copy, back up the database, and record the rollback steps. Read the release notes for each version you skip.

What support options exist for a self-hosted Woodpecker server?

Woodpecker is an open-source project under the Apache-2.0 license, so you can rely on the project's own community channels and documentation without a license fee. For a contracted option, DeployOpen offers fixed-scope implementation, hardening, backup, upgrade and documentation work, and ongoing support, upgrades and continuous testing are available as retainers. DeployOpen does not publish a price list. Pricing follows from the written scope, so ask for the support tier, response expectations and exclusions in writing. Confirm with any provider which versions and forge combinations they cover.

What should a quote for moving off Drone Enterprise include?

A useful quote lists what is in scope and what is not. Ask for the repositories, pipelines and forges covered, the agent and backend design, and the sizing assumptions for compute, storage and the database. The quote should also cover secrets re-entry, plugin review, forge OAuth setup, backup and restore testing, cut-over and rollback, handover documentation and training. Ask for a split between one-time and recurring costs, the support tier and its exclusions, the acceptance criteria and who signs off each deliverable. Fixed-scope agreements are agreed in writing before work starts, so a written scope is the basis for comparing quotes.

How DeployOpen scopes a fixed-price Woodpecker CI implementation

DeployOpen plans, implements, hardens and supports self-hosted open-source platforms inside your own infrastructure, so a Drone Enterprise license question becomes a written scope for Woodpecker CI in your cloud account, data center or air-gapped network. Most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

How we scope

  • We inventory existing Drone pipelines, plugins, secrets and forge connections before any installation decision is made.
  • The written scope names the forges, runner backends, database choice and number of pipelines covered by the engagement.
  • We confirm which Drone features your teams rely on so the scope lists any plugin or syntax adjustments explicitly.
  • Ask for the scope to state who owns secret re-entry, OAuth application setup and artifact export.

How we build

  • We deploy the Woodpecker server and agents in your infrastructure, with the database option agreed in scope.
  • Pipeline files are converted to .woodpecker.yaml or a .woodpecker directory and tested on non-production repositories first.
  • Drone plugins flagged as needing adjustment are reviewed and tested against your real pipeline steps before cut-over.
  • Hardening, access controls and runner isolation are configured to the agreed scope and documented as they are built.

How we hand over

  • Handover includes configuration records, runbooks for the server and agents, and a list of every migrated pipeline.
  • We document the side-by-side cut-over plan so both servers can run during the transition period defined in scope.
  • Secret rotation steps, backup procedures and artifact retention settings are written for your operators to follow.
  • Evidence for your own compliance assessments is collected in the form your assessor requests, without us issuing any attestation.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • Upgrades to new Woodpecker releases are tested against your pipelines before they reach production runners.
  • Security testing of the CI environment can be scoped separately, covering the server, agents and exposed webhook endpoints.
  • Ask for a quote built from the written scope, since DeployOpen does not publish a price list.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.