Which hosting model fits a billing team that is deciding between Lago Cloud and self-hosted Lago
A finance and engineering team deciding where usage billing runs is really deciding who carries the operating load. Lago Cloud suits teams that want the vendor to operate the platform, while self-hosted Lago suits teams with residency, network or version-pinning constraints and staff to run the services. Neither model is the better choice for every billing team. The right answer depends on whether your team can accept a managed upgrade cadence and where customer usage events are allowed to live.
Lago Cloud is the stronger fit when billing is a finance-owned process, engineering capacity is thin, and no regulator, customer contract or internal policy requires usage data to stay in your own environment. In that case the questions to put to the vendor are concrete: which data regions are available, how upgrades are scheduled, whether you can hold a version for a fixed period, and what the exit path looks like if you later move to your own infrastructure. Ask for those answers in writing before you sign, because they determine how much control you give up.
Self-hosted Lago is the stronger fit when usage events are sensitive, when outbound network rules are strict, or when you must pin a tested release for audit or change-control reasons. The self-hosting docs recommend pinning the last tagged version rather than the latest image tag, which only helps if someone owns the upgrade plan. Before choosing this path, confirm that your team can run the API, the API and clock workers, PostgreSQL, Redis and Gotenberg, and that it has a plan for ClickHouse if event volume grows. Check the Lago self-hosted Docker guide against your own platform standards first.
How Lago Cloud and self-hosted Lago differ on the factors that drive the decision
This table sets Lago Cloud against running the AGPL-3.0 Lago platform yourself, row by row on the factors that usually decide the choice. Read each row against your own constraints: data residency rules, upgrade windows and how much platform engineering capacity you can commit. The main takeaway is that self-hosting moves operating work and cost to your team, while Lago Cloud moves some of that control to the vendor.
| Factor | Lago Cloud | Self-hosted Lago |
|---|---|---|
| Data location and control | Data is held in the vendor's hosted environment. Confirm the regions, data residency options and access controls with the vendor. | Data stays in your cloud account, data center or VPC, under your access controls and retention rules. |
| Edition and feature access | Feature access follows the vendor's plans. Confirm which Enterprise features are included in Lago Cloud before you commit. | The free open-source edition covers fundamental billing features. Premium features need an Enterprise plan, self-hosted or in Lago Cloud. |
| Upgrade control | The vendor schedules platform changes. Ask how much notice you get and whether you can hold a version for testing. | You choose when to upgrade and which tagged version to pin, as the self-hosting docs recommend, but you own the testing and rollout. |
| Operating ownership | The vendor runs the hosted services. Confirm what, if anything, your team still operates, such as integrations and payment setup. | Your team operates the API, API worker, clock worker, PostgreSQL, Redis, the front end and Gotenberg, plus ClickHouse if enabled. |
| Licensing | The hosted service is governed by the vendor's commercial terms. Ask for the written terms covering your usage and data. | The platform is AGPLv3. The agent SDKs and MCP server are MIT licensed in separate repositories, so you can use them under MIT terms. |
| Payment gateway setup | Confirm with the vendor how gateway connections are configured and which providers are supported in the hosted service. | You connect a separate payment processor such as Stripe, Adyen or GoCardless, since Lago calculates charges and sends them to the gateway. |
| Cost structure | Subscription or plan fees are recurring and set by the vendor. Ask for the full quote, including any usage-based charges and support terms. | Software is free, but infrastructure, staff time for upgrades and monitoring, and support contracts are recurring costs that scale with volume. |
What changes for your team under each hosting model
With Lago Cloud, the vendor runs the Lago services that a self-hosted team would otherwise operate. Your team is responsible for configuring plans, metrics and integrations, and for the data and access decisions made inside the product. Patching, scaling and the underlying infrastructure sit with the provider under its service terms, so the operating load on your side shifts toward billing configuration and reconciliation rather than running the stack.
- Patching: Platform upgrades are applied by the provider. Confirm the release cadence and how you are notified before a change affects your invoices.
- Scaling: Capacity for the API, workers and storage is managed for you. Ask how usage spikes are handled and what limits apply to your event volume.
- Backups and recovery: Ask what backup frequency, retention and restore testing the provider commits to, and whether you can export your data.
- Monitoring: Service health monitoring is handled by the provider. Your team still needs its own checks on invoice runs and integration sync failures.
- Staffing: A billing or finance operations owner is usually enough. No platform or SRE team is needed to keep Lago running.
Before you commit, check the service agreement for uptime commitments, data residency and exit terms in writing.
Running Lago in your own cloud account means your team deploys and operates the services, but the infrastructure stays under your cloud controls. The Docker Compose deployment runs a front end, an API, an API worker, a clock worker, PostgreSQL for application data, Redis as the job queue and Gotenberg for PDF generation. Each of these is your responsibility to patch, scale, back up and watch. For larger deployments, Lago's self-hosting documentation points to Helm charts and dedicated workers, which moves the work toward Kubernetes operations.
- Patching: Your team pins a tagged release and applies upgrades on its own schedule. The self-hosting docs recommend pinning the last tagged version rather than the latest image tag.
- Scaling: Your team sizes the API and worker containers, and decides when to add dedicated workers for heavier jobs.
- Backups: Your team backs up PostgreSQL and tests restores. Redis and PDF generation need their own recovery plan.
- Monitoring: Your team owns health checks, queue depth and alerting for every container in the stack.
- Staffing: Plan for platform or DevOps engineers who can run containers, databases and a job queue, plus a billing owner for configuration.
Confirm with your platform team which upgrade window and rollback steps they can support before go-live.
On-premises hosting follows the same service list as a VPC deployment, but the hardware, network, storage and physical access are also yours. Teams that cannot place billing data in a public cloud, or that run in an isolated network, usually take on this model. The operating load matches the VPC case, with added dependencies on your data center's virtualization, storage and backup systems. Upgrades still need to be planned against the Docker Compose or Helm path you choose.
- Patching: Your team pulls approved images into your registry and applies them through your change process. Confirm how the images reach an isolated network.
- Scaling: Capacity depends on hardware you have already bought or must procure, so scaling is slower than in a cloud account.
- Backups: Your team must provide off-site or secondary copies of PostgreSQL and any ClickHouse store if you enable it.
- Monitoring: Your team builds monitoring from its own tools and keeps it running alongside the Lago services.
- Staffing: Expect platform, storage and network skills in addition to the DevOps and billing roles.
Ask your infrastructure team to confirm the hardware, backup and image-delivery path in writing before you choose this model.
How data location and access change the compliance picture
Choosing Lago Cloud or self-hosted Lago changes who stores your usage events and invoices, who can reach the database and admin console, and where payment data travels. Each card below is a decision you should document before you sign, because the evidence you can collect depends on the model you pick.
Where events and invoices live
Self-hosted Lago keeps usage events, customer records and generated invoices in PostgreSQL inside your cloud account or data center, and ClickHouse only if you enable it for high-volume events. Lago Cloud stores the same categories of data in Lago's hosted environment. Ask Lago which regions, subprocessors and storage locations apply to Lago Cloud, and confirm that the answer covers backups and generated PDFs, which Lago's self-hosted stack renders through Gotenberg.
Who holds database and admin access
Under self-hosting, your team controls the PostgreSQL instance, Redis, the API and the worker hosts, so access reviews, privileged account logging and network segmentation are yours to design and prove. With Lago Cloud, Lago's operators administer the platform, and your evidence is limited to what Lago provides and what you can configure in the application. Write down which roles can read the database directly, who can rotate credentials and who can change the deployed version.
Payment data flow to the gateway
Lago calculates what to charge and when, then sends the charge to a separate payment processor such as Stripe, Adyen or GoCardless. In both models, card and bank data should go to the gateway rather than to Lago's database, but the scope of your payment-related controls depends on the integration path you configure. Confirm with your gateway and with Lago which fields pass through Lago's systems, where webhooks land, and which party is responsible for cardholder data in each model.
Audit log ownership
Application and infrastructure logs are where audit evidence starts. Self-hosting puts log collection, retention and tamper protection in your hands, which means you must route container, database and admin activity to a store you control. With Lago Cloud, you need to ask Lago which audit events it records, how long they are kept, whether you can export them, and whether they are available to your auditors on request.
Version and change evidence
Self-hosted Lago's docs recommend pinning the last tagged version rather than the latest image tag, so your change records can show exactly which release handled billing at each date. Under Lago Cloud, you depend on Lago's release notes and change communications to reconstruct what changed and when. Keep your own record of the deployed tag, the upgrade date and the test results for each change, whichever model you choose.
Collecting evidence and attestations
DeployOpen can prepare the controls, configurations and evidence that a self-hosted Lago deployment needs for a compliance assessment, but DeployOpen does not issue audit reports, attestations or certifications, and independent auditors and certification bodies make those determinations. For any compliance claim about Lago Cloud, request Lago's current vendor compliance attestations directly from Lago and confirm their scope before you rely on them in an assessment.
How upgrades and version pinning work in each model
The self-hosted sequence pins a known tagged release, proves an upgrade on a copy of production, and only then moves forward. Lago Cloud moves that decision to the vendor, so the reader's job becomes confirming notice and rollback terms before go-live.
Pin the last tagged release
In a self-hosted deployment, your team records the exact Lago version in the deployment configuration instead of following the latest image tag. The Lago self-hosting documentation recommends this approach. Done means the version is written into the Docker Compose or Helm configuration, stored in version control, and the running services report that same version after deployment.
Track the release notes you depend on
Your platform or release engineering team watches the getlago/lago releases page and reads the notes for each tag you may adopt. Releases are published at a fast pace: v1.54.0 arrived on October 6, 2026, and v1.55.0 followed on October 7, 2026. Done means a named owner has reviewed the notes for changes to the API, workers, database schema or configuration keys that affect your deployment.
Rebuild a staging copy of production
The team restores a recent backup of PostgreSQL and any Redis or ClickHouse data your setup uses into a separate environment that mirrors the production topology, including the front end, API, API worker, clock worker and Gotenberg. Done means the staging environment runs the currently pinned version and processes test billing cycles without errors.
Test the candidate version in staging
The team deploys the new tagged version to staging, runs database migrations, and verifies metering ingestion, invoice generation, PDF output and the payment gateway connection you rely on. Your finance team checks a sample of invoices against the figures produced by the current version. Done means the test results and any configuration changes are documented and signed off by the billing owner.
Schedule the production change with a rollback plan
Your operations team sets a maintenance window, takes a fresh database backup, and writes the rollback steps before touching production. Rollback here means restoring the previous tag and the pre-upgrade backup, so the plan must confirm that schema migrations can be reversed or that the backup is the reversal path. Done means the change record names the owner, the backup location and the checkpoint for stopping the upgrade.
Roll forward and verify production
The team updates the pinned tag in production, applies the change, and checks service health, worker queues and a reconciliation of recent usage events against invoices. The operator stays on the previous tag until staging results are accepted. Done means the production version matches the new pin, the health checks pass, and the reconciliation shows no unexplained differences.
Confirm vendor-managed upgrade and rollback terms
With Lago Cloud, the provider decides when a release reaches your tenant, so the team's job shifts to confirming how the provider gives notice, whether you can choose a timing window, whether non-production environments receive changes first, and how a bad release is reverted. Ask for these terms in writing and confirm them against your contract. Done means the answers are recorded and mapped to your change management policy.
What drives the total cost of each model
What does Lago Cloud cost compared with self-hosting?
The supplied facts do not give a published Lago Cloud price, so the figure must come from Lago's current pricing or a direct quote. Cloud costs are subscription fees, usually based on plan tier and usage volume, and they recur for as long as you use the service. Ask Lago for the plan that covers the features you need, whether usage volume changes the fee, and whether any Enterprise plan fees apply on top. Self-hosting replaces that subscription with infrastructure, staff time and support costs, so compare the two totals over the same period rather than comparing a monthly fee with a single server bill.
What infrastructure costs come with self-hosting Lago?
Self-hosting bills you for the compute, storage, network and managed services that run the platform in your cloud account or data center. The Docker Compose deployment runs a front end, an API, an API worker, a clock worker, PostgreSQL for application data, Redis as the job queue and Gotenberg for PDF generation. Each of these needs capacity, and most of the cost recurs monthly. Ask your team to size each component for your expected event volume and to price high availability, load balancing and any managed PostgreSQL or Redis service you choose instead of running them yourself.
How much staff time does a self-hosted Lago deployment take?
Staff time is often the largest cost in self-hosting and it recurs. Engineers spend time on installation, configuration, monitoring, certificate and secret rotation, database maintenance, on-call response for failed jobs and invoice runs, and upgrades. Count the hours from the engineers who already run your PostgreSQL, Redis and container platforms, and add the cost of the skills you lack. Ask whether the team can cover this work without pulling people from billing or product delivery.
What does ClickHouse add to the cost if it is enabled?
ClickHouse is an optional external store for high-volume events and it is disabled by default, so it adds cost only when you turn it on. Enabling it means running and maintaining another database cluster, with its own compute, storage, backups and upgrades, and it needs engineers who understand it. Cloud customers should ask whether the managed service includes a ClickHouse store and whether it affects the plan price. For self-hosting, price the extra nodes and the operating time, and use the decision on event volume to decide whether the cost is justified.
Which payment gateway fees apply regardless of hosting model?
Payment gateway fees apply in both models because Lago does not process payments itself. Lago calculates what to charge and when, then sends that to a payment gateway, and the README names Stripe, Adyen and GoCardless as supported providers. Each gateway sets its own fees, so these costs are the same whether Lago runs in Cloud or on your infrastructure. Ask the gateway for its fee schedule for your transaction mix, and check whether the gateway contract or the Lago plan restricts which providers you can use.
What do backups and disaster recovery cost in each model?
In a self-hosted model you pay for backup storage, retention, restore testing and the standby capacity needed to recover within your target time, and you carry the staff effort to run and test them. With Lago Cloud, ask Lago what backup, retention and recovery commitments are included in your plan and whether they are written into the contract. Do not assume either model includes disaster recovery until the terms are written down. If you self-host, include the cost of testing restores on a schedule, because untested backups still cost money without protecting your billing data.
What does it cost to move between Lago Cloud and self-hosting later?
Switching costs are one-time but can be significant. Moving from Cloud to self-hosting means exporting customers, plans, subscriptions, usage history and invoices, rebuilding the infrastructure, reconnecting payment gateways and accounting or CRM integrations, and validating invoice output before cutover. Moving the other way means the same work in reverse. Ask both Lago and your implementation partner how data export works, which versions and data formats are supported, and what parallel running costs during a migration. Written scope before work starts keeps this cost predictable, since DeployOpen engagements are fixed-scope and quotes follow the agreed scope.
What should I request in a quote for each option?
Request a written breakdown that separates one-time from recurring costs. For Lago Cloud, ask for the plan price, the Enterprise plan fees that apply to your features, any usage-based charges, data export terms and support levels. For self-hosting, ask for a list of the infrastructure components with sizing assumptions, the staff hours by activity, backup and recovery arrangements, and the upgrade and pinning approach. DeployOpen does not publish a price list, and its quotes follow from a written scope that names the systems, integrations, deliverables and timeline, so define your scope before asking for a figure.
How to move between self-hosted Lago and Lago Cloud
This sequence moves customers, plans, metrics, subscriptions and invoices between self-hosted Lago and Lago Cloud while keeping billing history intact and avoiding duplicate charges. Each step closes with a check that the target matches the source. The effort depends on data volume, custom integrations and whether ClickHouse is in use.
Inventory customers, plans and metrics
The finance or billing owner lists every customer record, billable metric, plan and add-on in the current instance, including the aggregation logic behind each metric. Engineering confirms which metrics feed from product events and which are calculated. The step is done when the inventory is signed off and every plan has a matching metric definition on the target side. Confirm with Lago how plan and metric definitions can be exported or recreated in the destination before you start.
Inventory subscriptions and invoice history
Record every active subscription, its billing anchor date, pending changes and any scheduled plan switches. Export the invoice history, credit notes, wallet balances and open receivables, and note which invoices were paid through which gateway. The step closes when subscription counts and open balances in the inventory match the figures in the current instance. Ask Lago whether historical invoices and balances can be imported or whether they stay with the source system as read-only records.
Map custom integrations and dependencies
List every connection to NetSuite, Xero, Salesforce, HubSpot and any in-house system, along with the direction and frequency of each sync. Identify which integrations push invoices, which pull customer records and which depend on webhook payloads. The output is a dependency map that names an owner for each connection and marks the ones that need rework in the target environment. Integration effort often drives the overall migration effort, so confirm each connector's availability on the target edition.
Export and reconcile data in both directions
Run the export from the source, load it into the target and reconcile record counts, totals and sample invoices field by field. If you move to self-hosted Lago, the platform team also checks PostgreSQL schema compatibility and confirms the Redis and worker setup can process the imported volume. If ClickHouse holds event data, export and verify that store separately. The step is complete when reconciliation differences are explained and approved in writing.
Cut over payment gateway webhooks
Lago calculates what to charge and when, then sends the charge to a payment processor such as Stripe, Adyen or GoCardless. Point each gateway's webhook endpoints to the target instance only after the target can receive and process events. Disable the webhooks on the source at the same moment so events are not handled twice. The step closes when a test payment succeeds end to end and the gateway dashboard shows the expected webhook deliveries from the target.
Run parallel invoicing for one cycle
For one full billing cycle, run both systems in parallel, with the source generating invoices and the target calculating the same invoices in shadow mode. Compare line items, taxes, credits, usage totals and invoice numbering for every customer. The output is a discrepancy log with an owner and a resolution for each difference. Do not switch live invoicing until the log shows no unexplained differences. The length of the cycle follows your own billing calendar, so set it with finance before the run begins.
Retire the source after sign-off
Once finance and the platform owner sign off on the parallel run, the target becomes the system of record and the source moves to read-only status. Keep an archived copy of the database, the configuration and the version tag in use so historical invoices can be audited. Record the pinned version of the new instance, the upgrade schedule and the backup restore test. The step is done when the decommission record is approved and the archive is verified to restore.
Questions buyers ask before choosing between Lago Cloud and self-hosting
What does self-hosting Lago actually cost in effort, and can one team run it alone?
Self-hosting moves the cost from a subscription into people time, infrastructure and on-call coverage. The default Docker Compose deployment runs a front end, an API, an API worker, a clock worker, PostgreSQL for application data, Redis as the job queue and Gotenberg for PDF generation, so your team owns each of those services. One engineer can often stand up a test environment, but a production setup needs someone to watch backups, restarts, queue depth and upgrades. Whether one team can carry this depends on existing container and PostgreSQL skills and on how many people can respond out of hours. Ask your own platform team to map that load before comparing it with a Lago Cloud plan.
How long does a self-hosted Lago deployment take to stand up?
The duration depends on your target environment, your network and identity rules, the size of your event volume and how many integrations you connect at launch. A proof of concept on a single host can be quick, while a production deployment with backups, monitoring, TLS and a tested upgrade path takes longer. Lago does not publish a timeline for this work in the sources we rely on, so treat any figure you hear as an estimate until it is written into a scoped plan. Ask for a plan that lists each environment, each service, each integration and the acceptance tests before go-live.
Which skills and access does a self-hosted Lago team need?
You need people who can operate containers, PostgreSQL, Redis and a reverse proxy, plus someone who understands billing data. Lago's self-hosting guide is written for Docker Compose and points larger deployments to Helm charts and dedicated workers, so Kubernetes skills matter once you outgrow a single host. Plan for secrets management, outbound access to your payment gateway (Stripe, Adyen or GoCardless are the providers named in Lago's README), and read access for finance and accounting systems. Confirm each of these with your security team before the first install, because they determine who can change production billing data.
Can we move from self-hosted Lago to Lago Cloud later, or the other way round?
Moving is possible in principle, but the cost depends on how much billing history, customer records, plans and invoices you have already created. Your PostgreSQL data is the core asset, so the first question is whether the migration path between your deployment and a managed service is documented and tested for your version. Keep backups and a version record for every change, and pin your deployment to a tagged release as Lago's self-hosting docs recommend. Ask the vendor in writing how data export, import and cutover would work, and what they would need from you during that window.
Do we need a consultant or implementation partner to self-host Lago?
A partner is not required, but many teams use one for the parts that are hard to staff internally. DeployOpen plans, implements, integrates, hardens, backs up, upgrades and documents self-hosted open-source platforms inside the client's own infrastructure, and most engagements are fixed-scope with scope, deliverables and timelines agreed in writing before work starts. Ongoing support, upgrades and continuous testing are available as retainers. DeployOpen does not publish a price list, so a quote follows from the written scope. Ask any partner to show how they handle version pinning, upgrades and evidence for your audit.
Does the free open-source edition cover our needs, or do we need an Enterprise plan?
Lago's FAQ describes a forever-free open-source edition with fundamental billing features, and Enterprise plans that add premium features. Whether the free edition is enough depends on the features your billing model requires, such as specific dunning, tax, progressive billing or CRM and accounting integrations. The README lists integrations with NetSuite, Xero, Salesforce and HubSpot, but you should confirm in the current feature documentation which of them each edition supports. Build a feature checklist from your billing rules and check it against both editions before you decide.
What does Lago Cloud change about upgrades and data control?
Lago Cloud moves service operation and upgrades to the vendor, which reduces the work your team carries day to day. Self-hosting keeps data inside your own cloud account, data center or network, and it lets you choose when to upgrade. Lago's self-hosting docs recommend pinning the last tagged version rather than the latest image tag, so you control the timing of changes. Lago v1.55.0 was released on October 7, 2026, after v1.54.0 on October 6, 2026, which shows how often the project ships. Ask the managed provider where your data is stored, how upgrades are announced and how you would roll back.
When self-hosting Lago is the wrong choice
Self-hosting Lago is the wrong choice for a small team that has no one to own a production PostgreSQL database, a Redis queue and a worker fleet. The Docker Compose deployment runs a front end, an API, an API worker, a clock worker, PostgreSQL for application data, Redis as the job queue and Gotenberg for PDF generation. Each of those needs backups, monitoring, patching and capacity planning, and invoice generation depends on the workers keeping up. If nobody on the team has run PostgreSQL in production or can respond when the job queue backs up, a managed model shifts that operating load to the vendor. The test is practical: name the person who gets paged when a billing run stalls at 2 a.m., and if the answer is unclear, self-hosting will leave a gap.
Speed to launch is the other common reason to choose the managed option. Standing up the stack, wiring a payment processor (Lago names Stripe, Adyen and GoCardless as supported providers), configuring tax and accounting connections, and testing invoice output takes engineering time before the first customer can be billed. Self-hosting also means pinning a tagged release rather than the latest image tag, so each upgrade becomes a scheduled project. Teams that need usage-based pricing live within a quarter should price that delay against the cost of running the platform, and ask Lago and any implementation partner for a written scope and timeline before committing.
Managed hosting still leaves data control gaps that matter for some organizations. Usage events, customer records and invoices are processed on the vendor's infrastructure, so regulated teams need to confirm where that data is stored, which sub-processors touch it, how it is encrypted, how long backups are kept and how deletion requests are honored. Ask Lago for its current data processing agreement, its list of sub-processors, the hosting regions available to your account, and whether a dedicated or isolated environment is offered. If your policies require data to stay in a specific region or inside your own cloud account, a managed plan may not meet that requirement, and self-hosting becomes the only option to evaluate.
How DeployOpen scopes, deploys and supports self-hosted Lago
DeployOpen plans, implements, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For Lago, that means putting the services, data stores and upgrade path under your control, with the scope agreed in writing before any work starts.
How we scope
- The written scope lists which Lago services run in your environment: the API, workers, PostgreSQL, Redis and any optional ClickHouse store.
- Engagements are fixed-scope, so deliverables, timelines and responsibilities are agreed in writing before work begins.
- Scope should also name the payment gateway, accounting or CRM connectors, and the environments that need access to them.
How we build
- Deployment follows the Docker Compose or Helm approach that matches your volume, with the version pinned to a tagged release.
- Testing covers service health, job processing, invoice generation and connector behavior before any production traffic is routed.
- Hardening, network controls and backup and restore procedures for PostgreSQL and related stores are configured in your own infrastructure.
How we hand over
- Documentation covers the deployed architecture, configuration keys, pinned version, upgrade steps and rollback procedure for your team.
- Evidence for your internal reviews, such as configuration records and test results, is delivered as part of the agreed scope.
- Ownership of accounts, credentials and infrastructure stays with your organization, and handover sessions are scheduled in the written plan.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers, and their scope is agreed separately from the build.
- Upgrades are planned against the Lago release notes and tested in a non-production environment before the pinned version changes.
- Compliance evidence is prepared for your assessors, but DeployOpen does not issue audit reports, attestations or certifications.

