Conditional verdict — no complete price before the inventory
There is no useful total until you know what the total is meant to buy. A VPS fee can be the only host charge while omitting a separate database, retained copies, object storage, domain, API usage, license or the operator time needed to patch and recover the system. Conversely, a worker process on the same host is not automatically a second host invoice.
Use this sequence: selected architecture and rejected alternatives → quantities and placement → persistent and portable artifacts → live vendor/tool terms → first-period, renewal and exit arithmetic. Keep each option mutually exclusive unless you deliberately selected both. “Self-hosted” describes deployment; it does not guarantee every app capability is available without a paid plan. Persistent disk is not an independent recovery copy, and stopping a machine does not establish that storage, addresses or subscriptions stop billing.
Record the source URL, region, captured date and billing period next to each copied input. For cross-provider terms, use provider requirements; for backup-versus-snapshot and stop-versus-delete distinctions see backup policy and cancellation and billing policy. This walkthrough does not recommend a plan size or choose your topology.
Required component inventory
Complete this table before adding money. “Selected” means your design includes the item; “rejected” means you made a deliberate choice not to include it; “unresolved” means the decision or quantity can still change the bill. The quantity driver and evidence columns prevent a guessed workload conversion from becoming a pseudo-price.
Processes, services and host placement
| Component | Status | Quantity and placement | Quantity driver | Possible billable | Owner and evidence |
|---|---|---|---|---|---|
| Main/editor | Selected / rejected / unresolved | ___ instance(s); host ___ | Chosen topology, availability and measured workload | Host, disk, address, operations | ___ / dated SKU or no separate line |
| Webhook processors | ___ | ___; same/separate host ___ | Selected execution design | Additional host or shared capacity | ___ |
| Redis and each queue worker | ___ | Redis ___; workers ___; placement ___ | Queue architecture and observed execution needs | Host, managed service, storage or network | ___ |
| Matching Code task-runner sidecars | ___ | ___; attached to ___ | External Code execution choice | Host or service; image and operations | ___ |
| Database | ___ | ___; same host / separate / managed | Selected supported DB topology and recovery boundary | Host, DB service, disk, backup and transfer | ___ |
| Reverse proxy and TLS/domain | ___ | ___; host/managed owner ___ | Public route and certificate ownership | Host, DNS/domain, address, support | ___ |
| Resident model and vector service | ___ | Selected only: ___ | Separate AI placement decision and measured demand | Host/GPU if selected, model storage, API or data service | ___ |
| Assistant sandbox, search or provider | ___ | Bundled / external / not selected ___ | Required feature and selected implementation | Host, sandbox/search/API fees, operations | ___ |
| Monitoring, staging and rollback capacity | ___ | ___; temporary or recurring | Chosen operation, migration and recovery plan | Host, storage, monitoring tool, transfer | ___ |
A queue worker executes workflows; a task runner executes Code-node tasks; the Assistant sandbox is a separate feature dependency. These are not interchangeable line items. Queue concurrency is an input, not a capacity guarantee. Follow the queue and concurrency guide for component distinctions, the Compose inventory for deployment components, and the AI placement decision before assigning optional AI costs. Count a bundled Assistant sandbox or external managed sandbox once unless both are intentionally selected.
Edition and third-party capability flags
Feature availability and provider rent are separate questions. n8n’s captured Community feature page lists queue mode as included, while multi-main, external secrets, external binary storage, source control/environments, SSO and sharing have edition boundaries described there. The exact required edition and activation must be checked against the selected feature and current plan documentation; this source does not supply current prices. Source control/environment documentation identifies Business and Enterprise availability in its captured scope. External binary storage can lower local disk use while creating an external service, transfer and retention lifecycle to price.
| Required feature or dependency | Edition, UI or activation to verify | Selected alternative | App/API fee field | If unverified |
|---|---|---|---|---|
| Queue mode | Confirm selected release and desired capability | ___ | ___ | Unresolved until release/edition checked |
| Multi-main, if required | Captured Community list excludes it | ___ | ___ | Do not assume included |
| External secrets, source control or environments | Check required feature and plan activation | ___ | ___ | License or alternative unresolved |
| External binary storage | Check selected edition and storage integration | ___ | ___ | Price storage, requests, lifecycle and transfer |
| SSO/sharing, only if required | Check users, activation and plan scope | ___ | ___ | Do not infer from self-hosting |
| Model, search, API, object store or sandbox | Identify exact selected service and billing unit | ___ | ___ | Price and terms unresolved |
| Paid support or managed operations | Identify named scope and response terms | ___ | ___ | Keep distinct from host charge |
For each row enter selected / rejected / unresolved; write a reason and a source. Do not put “free” in the fee field because the software can run self-hosted. Capability, plan entitlement, license activation, support and infrastructure are distinct inputs.
Required artifact and storage inventory
Price retained bytes and temporary working space by location. A primary disk, an object-store bucket and an independent backup can hold different copies of the same data and have different fees. Do not duplicate a single selected copy across two storage line items; do count two real copies when both exist.
| Artifact | Quantity, unit and growth/retention | Primary location | Independent copy | Temporary export, dump or restore space | Owner and unresolved term |
|---|---|---|---|---|---|
| Base OS and container images | ___ image bytes; refresh/retention ___ | ___ | Registry/source ___ | Pull/update overlap ___ | ___ |
n8n .n8n and encryption-key custody | ___; growth/retention ___ | ___ | Protected copy location ___ | Restore workspace ___ | ___ |
| Database working set and global objects | ___; growth/pruning ___ | Local disk / DB service ___ | DB-consistent copy ___ | Dump and restore headroom ___ | ___ |
| Binary files and retained executions | ___; expected retention ___ | Local / selected external store ___ | ___ | Migration overlap ___ | Lifecycle and transfer ___ |
| Custom nodes, configuration and actual external paths | ___; versions ___ | ___ | ___ | Update/rollback copy ___ | ___ |
| Model, vector and prompt artifacts (only if selected) | ___ bytes/retention ___ | Local / remote ___ | ___ | Download or rebuild overlap ___ | ___ |
| TLS, domain and deployment records | Renewal/retention ___ | ___ | ___ | Cutover overlap ___ | ___ |
| Independent recovery copies | ___ copies × size × retention | Separate failure boundary ___ | Remote destination ___ | Restore target workspace ___ | Storage and restore transfer ___ |
| Old/new DB, staging and rollback copies | Temporary duration ___ | Old/new hosts ___ | ___ | Peak overlap ___ | Delete/stop owner ___ |
Use a parameterized capacity worksheet rather than an integer multiplier: base artifacts + .n8n + database working set + binary/execution retention + selected local artifacts + temporary update/dump/restore copies + independent copies. Fill every quantity from observed or intentionally chosen retention data. If external object storage is selected, place the same bytes there rather than also charging them as local binary storage; then add any separate local cache, transfer and recovery copies that actually exist. A persistent volume survives some container lifecycle events but is not an independent backup. Send coverage questions to the database and backups guide, recovery guide and backup policy.
Convert each selected item into a billable field
Copy the exact product or tool term, unit, region and period. Split charges that have different billing clocks or owners; a host line does not silently include an address, backup, license or API. “Exit” records what remains charged or must be paid to move data after you stop service.
| Selected item | Term to copy from provider/tool | Unit and period | First invoice | Renewal | Exit or leftover | Evidence status |
|---|---|---|---|---|---|---|
| Each selected host | Exact SKU, region, term, promo, renewal and resize policy | ___ | ___ | ___ | Stop/delete behavior ___ | URL/date ___ |
| Temporary migration, rollback or staging host | Hourly/monthly minimum and deletion billing | ___ | ___ | Duration ___ | Retained disks/exports ___ | ___ |
| Disk, DB and independent recovery storage | Capacity, request, retention, restore and minimum fees | ___ | ___ | ___ | Copies retained ___ | ___ |
| Network, by direction and destination | Address; inbound/outbound units; host-to-host; object store; image/model pull; restore import | Region, direction and unit ___ | ___ | ___ | Final transfer/export ___ | ___ |
| DNS, domain, proxy and TLS ownership | Registration/renewal, managed feature and support terms | ___ | ___ | ___ | Renewal/transfer ___ | ___ |
| App edition/license, panel, support or API/tool | Feature entitlement, activation, usage and cancellation | ___ | ___ | ___ | Cancellation/export ___ | ___ |
| Tax and one-time charges | Cart, jurisdiction, setup, transfer or restore fee | ___ | ___ | ___ | ___ | ___ |
Keep internal operator time in a separate ledger: planned patching, monitoring, backup checks, restore rehearsal and incident response have a cost to the organization even when no vendor line exists. Record owner, hours or staffing method and valuation separately; do not disguise it as a provider fee or assume “self-managed” means no work. A provider hand-off should ask for the exact SKU and region, renewal cash, address and transfer terms, backup scope and restore fees, deletion behavior, permitted container privileges if needed, and the named support boundary. Keep image provenance and application support UNKNOWN until evidenced on that provider’s own route.
The unresolved-is-not-zero rule
Assign one status to every optional or uncertain line. These labels prevent an empty cell from masquerading as a price:
| Status | Meaning | How it enters arithmetic | Example |
|---|---|---|---|
| Not selected | Excluded by the recorded architecture | No line in this scenario; reconsider if the architecture changes | No local model host selected |
| Zero by explicit assumption | A toy scenario deliberately sets a value to zero | May appear in labeled hypothetical arithmetic only; show a changed-cost branch | Assume transfer remains within allowance |
| Evidenced zero | A dated, specific source states zero for the chosen product and scope | Include $0 with source and scope | Exact included allowance verified in current cart |
| Included only if evidenced | May be bundled, but inclusion is not yet documented | Leave unresolved until scope is proven | Backup copy retention or managed certificate |
| Price unresolved | Selected or potentially required, with no verified amount | Known subtotal remains incomplete | Tax, transfer overage or API fee not checked |
“Not selected” is different from “free.” If no resident model is selected, mark its host not selected; if an API is selected, price its usage rather than carrying over the local-model decision. Unknown transfer allowance is not zero overage. Tax that has not been calculated remains unresolved. External storage can reduce primary-disk bytes while adding storage, request, retention, restore and transfer terms. Do not count one host twice as both a bundled process and a separate invoice, but do count a genuinely selected second host. Do not include both the bundled Assistant sandbox and a separately managed sandbox unless both are chosen.
For each unresolved item capture the question, owner, evidence needed, date requested and the scenario it blocks. A numeric subtotal with unresolved required lines must be called a known subtotal, not a complete price. Copy verified terms into provider comparison only after checking the live product, and preserve the evidence date.
Recomputable period, renewal and cash formulas
For a defined period, calculate: selected host(s) + metered network + storage and recovery + selected app/tool licenses + required add-ons + one-time fees + evidenced tax − usable promotion for that period. Sum known numeric values only, state which fields are excluded, and append the unresolved register. A promo counts only when its eligibility and period are verified.
Monthly equivalent = known spend for the covered period ÷ months covered. Annual cash due today is the amount charged at purchase, not a monthly run-rate. Renewal requires a fresh calculation using renewal base prices, add-ons, promo eligibility, tax and usage. A prepaid annual amount divided by 12 describes an arithmetic equivalent; it says nothing by itself about refunds, cancellation or the cash needed today. Use the VPS total cost tool to transfer the fields, not to hide unresolved ones.
Monthly toy arithmetic, with the assumptions visible
Hypothetical inputs only; no provider or live price is represented. The existing compact example uses $7 base host, $1 address, $1.50 backup, $1 extra disk, $2 one-time setup and a $2 first-month promotion. It assumes (but does not evidence) transfer within an allowance and leaves tax unverified. On those stated toy assumptions:
| Line | First month | Later month | Status and interpretation |
|---|---|---|---|
| Base host | $7.00 | $7.00 | Hypothetical selected line |
| Address | $1.00 | $1.00 | Hypothetical selected add-on |
| Backup | $1.50 | $1.50 | Hypothetical selected retention |
| Extra disk | $1.00 | $1.00 | Hypothetical selected capacity |
| Transfer overage | $0.00 | $0.00 | Zero by explicit allowance assumption, not evidenced zero |
| Setup fee | $2.00 | $0.00 | Hypothetical one-time fee |
| Promotion | −$2.00 | $0.00 | Hypothetical first-month credit only |
| Tax | Unresolved | Unresolved | Not verified; excluded from arithmetic |
| Known subtotal | $10.50 | $10.50 | Equal by coincidence: $2 setup is offset by $2 promo |
The $10.50 is not a quote or complete payable total: the toy subtotal assumes transfer is within allowance and leaves tax unresolved. Under these exact assumptions the first month and later month coincide because the setup charge and promotion cancel. If the later host renewal changes, overage occurs or tax applies, recompute the affected period. Do not carry the coincidental equality into a real renewal forecast.
Annual toy arithmetic and cash due
Hypothetical inputs only. Assume annual base $72, address $12, backup $18 and extra disk $12. The cash sum is $72 + $12 + $18 + $12 = $114; the monthly equivalent is $114 / 12 = $9.50. These are arithmetic assumptions, not current provider prices. Tax remains unresolved, and any unlisted transfer, setup, license or exit fees remain outside this toy sum. The annual cash amount is due up front in the example; verify refund and cancellation terms before treating it as an acceptable commitment.
Worked architecture-to-cost branches
These branches show which rows change when the architecture changes; they do not add invented dollar amounts. Select one branch that matches your design, then fill the same inventory and billable ledger. Within a branch, “unresolved” means procurement is not yet ready for a complete total.
| Branch and changed assumption | Added or removed lines | Recurring versus one-time | Still unresolved | Next evidence |
|---|---|---|---|---|
| A. Bounded plain n8n: main, DB and proxy on one host; no queue, local model or external store selected | One selected host and its measured primary storage; chosen independent recovery copy, domain/address if needed. No separate model or managed-store line. | Host, domain and recovery retention may recur; setup, export/import or temporary copy may be one-time. | Actual DB/binary growth, backup coverage, tax, renewal and restore transfer. | DB/storage worksheet, backup boundary and live SKU terms. |
| B. Queue and worker expansion: Redis, worker(s) and matching runner placement are specified | Add each separately billed host/service only when separately selected; add Redis/DB storage, observability and any recovery data movement. If co-located, record shared host impact without inventing a second invoice. | Managed services or added host may recur; migration/staging may be temporary. | Whether a runner or service is required for the selected version/design; connection, monitoring and backup terms. | Queue decision then the chosen vendors’ units. No jobs-per-core conversion. |
| C. AI or migration: choose remote API or resident inference; migration may overlap old and new systems | Remote choice adds actual API usage and outbound traffic; resident choice adds only selected host/storage/network requirements. Migration adds temporary host, export, transfer, restore and peak overlapping storage. | API/model and storage can recur by usage; temporary overlap, cutover or import can be one-time. | Usage rates, model placement and data retention, transfer direction, target acceptance, deletion and cancellation. | AI placement and recovery hand-off; get the selected tool and provider terms. |
Branch A is “plain” only by the items explicitly excluded; it still has a DB, a public-route decision, retained data and a recovery owner. Branch B counts the components selected by the queue architecture, not an assumed host per process. Branch C chooses either an API or a resident service for the particular workload unless both are deliberately required. Where migration overlaps two environments, price the overlap duration and copy space instead of assuming the old system disappears at cutover. Do not multiply storage by an arbitrary safety factor: estimate each retained and temporary copy from its source and duration.
Exit, leftovers and the next evidence pass
Before selecting an annual term or deleting an old environment, map the final cutoff and every item that could remain billable. Use this checklist as a hand-off record, not as a recovery procedure:
- Record the target platform, selected release and exact final cutoff. Identify the final export and the complete recovery artifacts required by the recovery guide. A workflow package is not a complete system restore.
- Price target host or service, transfer in both directions, import/restore work, temporary overlap and any independent copy that must remain after cutover.
- List old host, attached disks, reserved address, snapshots/backups, object-store versions, domains, licenses, model/API/search subscriptions and monitoring that may continue after the app stops.
- For each line, write the exact stop, cancel, delete and retention action, its owner, confirmation evidence and last billable date. A stopped server and a deleted resource may have different billing effects; the selected provider’s terms control.
- Keep an exit copy until target acceptance and restore coverage are observed. Record whether a retained copy incurs storage, request or lifecycle charges and who can access the encryption key.
Do not infer RPO, RTO, successful migration, refund eligibility or automatic cleanup from a product label. Provider terms govern the actual invoice. Review cancellation and stop/delete policy and ask the provider for its exact product, region, retention, export, transfer and deletion evidence. For service symptoms, ask: which selected component generated the charge, which period and unit is shown, and what dated source confirms inclusion? That is an inspection prompt, not a frequency or quality claim. See Methodology for how evidence is handled.
Next, send known numeric fields to the cost tool, unresolved fields to a dated provider evidence pass at Providers, and the architecture map back to the n8n VPS hub. Do not proceed with a “complete total” label until every selected billable has a value or evidenced inclusion and every excluded choice has a reason. For site scope, see About.
Sources and updates
Source captures checked 2026-11-06. Feature availability and release behavior change; confirm the selected tag, matching release documentation, edition and live billable terms before procurement. No provider price was newly checked for this walkthrough.
- n8n: Community edition features — captured edition distinctions, including queue mode and exclusions such as external binary storage and multi-main.
- n8n: Understand source control — captured Business and Enterprise feature scope.
- n8n: Use external storage for binary data — edition and external storage lifecycle context.
- n8n: Queue mode — process roles and selected topology context.
- n8n: Task runners — separate Code task execution role.
- n8n: Backup and restore — state recovery context.
- Docker: Volumes — container storage lifecycle distinction.
- n8n: Set up Assistant and n8n AI Starter Kit — Assistant and bundled-service scope; the starter kit labels itself proof-of-concept oriented rather than production proof.
Last reviewed for this draft: 2026-11-06. The sample totals are hypothetical arithmetic only. This article does not verify a provider cart, purchase, deployment, restore, performance or security state.