Cloud vs Self-Hosted Restaurant Ordering: Real Costs, Risks and When Each Wins
Open-source ordering code can be free; the server, backups and upkeep aren't, and table ordering can be a paid extension. Our 3-year worksheet puts self-hosting at about $127 a month against $0 to $49 for the hosted plans we priced, then covers the PCI and certificate jobs that stay with you.
In this article
- Cloud vs self-hosted vs on-premise: three ways to run ordering software
- Open-source restaurant ordering systems you can self-host
- Cloud vs self-hosted restaurant ordering system: the 3-year cost worksheet
- What changes if you run several sites
- Card payments and PCI compliance: what stays your job either way
- Updates, certificates and backups: the self-hosting job list
- What happens when the internet, power or server fails
- Who owns your restaurant's data, and how you get it out
- Customization and integrations: where self-hosting wins
- Cloud vs on-premise POS: a different decision
- How MenuBeacon answers these questions, and where it stops
- Decision checklist: cloud or self-hosted
- Sources, checked October 13, 2026
Choosing between a cloud and a self-hosted restaurant ordering system mostly comes down to labor. For one restaurant without a developer, cloud costs less and leaves you less to maintain. Self-hosting makes sense only with both a reason and a maintainer: a custom integration, data a contract says you must hold yourself, or enough sites that per-location fees add up, plus someone technical to maintain it every month.
The numbers: a small rented server with weekly backups costs $14.40 a month at DigitalOcean's list prices. Add a table-ordering extension, plus setup and upkeep paid at the median wage for US web developers and digital designers ($47.85 an hour).
Our 3-year worked example averages about $127 a month for self-hosting. The hosted plans we priced cost $0 to $49 a month, topped by Square for Restaurants Plus.
MenuBeacon makes hosted QR menu, ordering and kitchen software, so we sell one side of this choice; we don't sell servers, POS systems or card processing. Prices and rules come from each source's own page, checked October 13, 2026. This is general information, not legal or compliance advice: ask your card processor about PCI and a data-protection adviser about GDPR.
Cloud vs self-hosted vs on-premise: three ways to run ordering software
| Cloud (hosted) | Self-hosted on a rented server | On-premise | |
|---|---|---|---|
| Where it runs | The vendor's servers | A virtual server you rent, such as a DigitalOcean Droplet | A computer in your back office |
| Who installs updates | The vendor | You or your developer | You or your developer |
| How guests' phones reach it | Over the internet, on mobile data or your Wi-Fi | Over the internet, at your own web address | Only through your Wi-Fi, unless you open it to the internet |
| Example | Square for Restaurants (QR ordering on its Plus plan) | TastyIgniter, or Odoo Community, installed by you | The same software on a back-office PC |
QR ordering makes the last column awkward: guests order from their own phones, which may not be on your Wi-Fi. Reaching a back-office PC from outside takes a public web address, a certificate and a way in from the internet (an open router port or a tunnel service).
That turns the PC by the register into a public web server you must secure yourself, so for QR ordering, self-hosting in practice means a rented server.
Open-source restaurant ordering systems you can self-host
TastyIgniter describes itself as self-hosted and free forever, with optional paid extensions (TastyIgniter). Its homepage doesn't mention table QR ordering; its marketplace sells that as a third-party extension, Table Ordering by AVi SaaS, at $49 a year. Table Ordering needs TastyIgniter's Reservation extension, free on the same marketplace (Table Ordering listing; extensions list).
The extension is license-protected: without an active license, its listing says, guests are sent away from the table-ordering pages. When we checked on October 13, 2026, the listing showed 0 installs and 0 reviews, so try its demo and a test install first.
Odoo's Point of Sale documents a QR menu + Ordering mode that prints one QR code per table; guests pay online or, with no online payment method set, at the cashier (Odoo 20.0 self-ordering docs).
The self-ordering module and its online-payment add-on are in Odoo's Community source code under the LGPL-3 license (self-order manifest; online payment manifest), and Odoo documents installing Community on your own server (Odoo 20.0 source install docs).
Cloud vs self-hosted restaurant ordering system: the 3-year cost worksheet
Illustrative arithmetic on list prices checked October 13, 2026, not customer data. One US restaurant over 36 months, self-hosting TastyIgniter with its Table Ordering extension. The server size and labor hours are assumptions.
| Line | Self-hosted on a rented server | Cloud (hosted plans we priced) |
|---|---|---|
| Software | $0 core + $49 a year for the Table Ordering extension = $147 | MenuBeacon: $0 on Free, or $20 × 36 = $720 on Pro. Square for Restaurants Plus: $49 × 36 = $1,764 |
| Server (2 GiB memory, 1 vCPU) | $12 × 36 = $432 | Included |
| Weekly backups (20% of server cost) | $2.40 × 36 = $86.40 | Run by the vendor |
| TLS certificate (what lets your site use https) | $0 from Let's Encrypt, a free certificate authority, if renewal is automated | No separate charge listed |
| Setup labor (assumed 10 hours) | 10 × $47.85 = $478.50 | Your time to build the menu |
| Upkeep labor (assumed 2 hours a month) | 72 × $47.85 = $3,445.20 | No server work |
| 3-year total before card fees | $4,589.10 (about $127.48 a month) | $0 to $1,764 |
The server and backup lines are DigitalOcean's Basic Droplet prices (DigitalOcean pricing). $47.85 is the May 2025 median hourly wage for US web developers and digital designers (BLS): an employee's wage, not a freelance rate, so use your actual quote, or a local rate outside the US.
The 10 setup hours cover the server, https, extensions, payments and test orders, not just the installer, which TastyIgniter says takes 10 minutes (TastyIgniter). The 2 upkeep hours cover the job list below.
Not included: a domain name, any security scans your processor asks for, the kitchen tablet itself and your own time.
Labor decides the answer:
| Upkeep per month | 3-year self-hosted total | Average per month |
|---|---|---|
| 30 minutes | $2,005.20 | $55.70 |
| 2 hours | $4,589.10 | $127.48 |
| 4 hours | $8,034.30 | $223.18 |
With no labor at all, the server, backups and extension cost $665.40 over three years, $54.60 less than Pro. That gap buys about 1 hour at the $47.85 median.
To use your own numbers: 3-year self-hosted cost = $665.40 + (setup hours + 36 × monthly upkeep hours) × hourly rate, less $147 if your software needs no paid extension. Compare the result with 36 times the monthly price of the hosted plan you'd otherwise buy.
Square for Restaurants is a full POS, with QR code ordering on its Plus plan at $49 a month per location (Square for Restaurants pricing), so it buys more than ordering. On these assumptions, self-hosting undercuts it only if upkeep stays under about 22 minutes a month: ($1,764 − $1,143.90 for software, server, backups and setup) ÷ 36 ÷ $47.85 = 0.36 hours.
Square's kitchen display app adds $30 a month per device on Plus (Square pricing). With one kitchen screen, Plus costs ($49 + $30) × 36 = $2,844 over three years, and the break-even rises to about 59 minutes a month.
The columns don't buy identical features. TastyIgniter itself is built for online food ordering (GitHub README), and its marketplace lists two more relevant extensions as free: Pay Register, for cards through Stripe, PayPal, Authorize.Net or Mollie, and Kitchen Display (extensions list); check that both work with Table Ordering.
MenuBeacon's card payments at the table, and its pickup and restaurant-run delivery ordering, are Pro features in the US, UK and EU editions. So compare the self-hosted total with Pro or Square Plus, not with Free.
Card fees depend on your processor, not on where the software runs, so they're left out. Stripe's standard US online rate is 2.9% + 30¢: $1.75 on a $50 check (2.9% × $50 + 30¢) (Stripe US pricing). Square's processing fees vary by plan (Square pricing). Ask whether any vendor adds commission on top.
What changes if you run several sites
Hosted plans priced per location multiply with each site; one self-hosted install may not. On the same assumptions, three sites on Square Plus pay $5,292 over three years ($49 × 3 × 36) before kitchen display fees, more than the $4,589.10 self-hosted total at 2 hours a month.
TastyIgniter's homepage advertises running every branch from one login (TastyIgniter), but the Table Ordering license is sold per domain (Table Ordering listing). Confirm how many licenses you need, and price the extra server capacity and hours.
Card payments and PCI compliance: what stays your job either way
PCI DSS is the card industry's security standard, and anyone who processes, transmits or stores card data must comply. Stripe calls this a shared responsibility: it is certified as a Level 1 service provider, while each business that accepts cards must attest to its own compliance every year (Stripe integration security guide).
The work depends on where the guest types the card number. The paperwork is usually a self-assessment questionnaire (SAQ), and three setups cover most ordering systems:
- On the processor's own payment page. The guest is sent to a page the processor runs, such as Stripe Checkout's hosted page (Stripe Checkout docs). Stripe's PCI guide lists Checkout under SAQ A (Stripe PCI guide), and the PCI Council's 2025 script-attack criterion, below, doesn't apply to redirects (PCI SSC FAQ 1588).
- In the processor's fields, embedded in your page. With Stripe Elements or embedded Checkout, card inputs sit in a frame served from Stripe's domain inside your page, and Stripe's guide lists these under SAQ A too. But since April 1, 2025, a merchant whose page embeds a processor's payment form must also confirm the page isn't susceptible to script attacks to use SAQ A (PCI SSC FAQ 1588, February 28, 2025).
- Through your own server. A business that handles raw card numbers may have to meet more than 300 PCI DSS security controls, Stripe's integration guide says. Its PCI guide points direct API setups to SAQ D, which it calls the most demanding questionnaire.
If you self-host, a redirect to the processor's own page carries the fewest conditions of the three; check which kind your payment extension uses. If it embeds the card form, confirming the page around it is protected from script attacks falls to you after every update; our FAQ below gives two ways.
A hosted ordering service runs that page for you, but you still attest each year. Ask any vendor, hosted or open source, which questionnaire its payment setup supports.
Updates, certificates and backups: the self-hosting job list
In Verizon's 2026 Data Breach Investigations Report, covering thousands of incidents worldwide, not just restaurants, 31% of breaches started with a software vulnerability, now the top way in, ahead of stolen passwords (Verizon DBIR 2026).
TastyIgniter's version 4 installation guide shows what a self-hosted system asks of you (TastyIgniter installation docs). TastyIgniter needs PHP 8.3 or later, MySQL 8.0+ or MariaDB 10.6+, a cron job running its scheduler every minute and, in production, a queue worker. Over three years, the jobs are:
- Security updates for the operating system, web server, database, application and every extension.
- PHP and database versions. PHP's own security support ends on December 31 of 2027 for 8.3, 2028 for 8.4 and 2029 for 8.5 (php.net supported versions). MariaDB's table gives community end of life as July 6, 2026 for 10.6, the oldest version TastyIgniter's installer accepts, and June 12, 2029 for 12.3, the newest long-term release (MariaDB maintenance policy). These dates apply to PHP's and MariaDB's own builds; a Linux distribution can patch its packages for longer.
- Operating system. Ubuntu's standard security maintenance patches its main repository for five years, until May 2029 for 24.04 LTS and May 2031 for 26.04 LTS (Ubuntu release cycle). Ubuntu 26.04 ships PHP 8.5 and MariaDB 11.8 in main. Build on those, if TastyIgniter and every extension you use support them, and you need no PHP, database or operating-system version upgrade within three years. The bcmath, intl and zip PHP extensions TastyIgniter requires sit in universe, not main, but share PHP 8.5's source and security updates so far (php8.5-intl).
- Certificate renewals. Let's Encrypt's default certificates shorten from 90 to 64 days on February 10, 2027, and to 45 days on February 16, 2028, along with the rest of the industry. Renewing on a fixed 60-day cycle will no longer be enough (Let's Encrypt, December 2, 2025). Automate renewal, then check that it ran.
- Backups you have restored. Once a quarter, restore your latest backup to a spare server and place a test order; until then, you don't know it works. At DigitalOcean's hourly rate, a 3-hour test costs about 5 cents ($0.01786 × 3). Weekly backups can lose up to a week of orders; daily ones cost 30% of the server price instead of 20% (DigitalOcean pricing).
- Someone on call. Decide who fixes the menu when it won't load at 8 pm on a Friday, and how you'll find out it's down before guests tell you.
What happens when the internet, power or server fails
| What fails | Cloud ordering | Self-hosted on a rented server | On-premise server |
|---|---|---|---|
| Your restaurant's internet | Guests on mobile data can still order; guests on your Wi-Fi may need to switch it off. The kitchen screen needs another connection, such as a phone hotspot | Same as cloud | Staff on your Wi-Fi keep working; guests outside your Wi-Fi can't reach it |
| A power cut | The menu stays online; your router and kitchen device need power or a battery | Same as cloud | Ordering stops unless the server and router run on a battery backup (UPS) |
| A server or disk | The vendor fixes it; you wait | You rebuild and restore from backup | You replace the hardware, then restore |
| The vendor or project ends | You move before the shutdown date | Your copy keeps running, but security fixes stop, and any extension that checks a paid license may stop working | Same as a rented server |
The last row isn't hypothetical. Oracle schedules GloriaFood's full end of service for March 31, 2027; GloriaFood's homepage gives April 30, 2027 and says Oracle offers no direct replacement (Oracle; GloriaFood). If you use it, our guide to what GloriaFood's shutdown means and how to switch sets out a plan built on the earlier date.
Rehearse an outage in a quiet hour: switch off your router, order from a phone on mobile data, and check the order reaches the kitchen screen over a hotspot. Keep paper order pads handy.
Who owns your restaurant's data, and how you get it out
Self-hosting gives you the database itself; a hosted service gives you whatever it lets you export. Ask any hosted vendor these five questions before you sign, and keep the answers in writing:
- What can I export (menu, orders, guest list), in what format, and on which plan?
- What happens to my data if I downgrade or cancel?
- How long is it kept after I close the account, and can I take a copy first?
- Where is it hosted, and how are transfers outside the UK or EEA covered?
- How much notice will I get if the service ends?
UK and EU law backs part of this. Under GDPR Article 28, a processor handling personal data for you must work under a contract saying that, when the service ends, it deletes or returns the data at your choice (UK GDPR, Article 28; EU text on EUR-Lex).
Customization and integrations: where self-hosting wins
With the code on your own server, a developer can change the ordering flow, add a payment provider the project supports, or write orders straight into your POS or accounting system.
TastyIgniter, for example, is built on Laravel (TastyIgniter), and its marketplace lists free extensions that generate REST APIs from its data and send webhooks to Zapier or similar services (extensions list). The catch: you retest every change after each update.
A hosted system offers only what its vendor exposes, such as webhooks (automatic messages to another system when a new order arrives) or an API. Check which events it sends, whether the API can change data and which POS connections sync orders both ways.
Cloud vs on-premise POS: a different decision
If you're comparing cloud and on-premise POS systems, or want a self-hosted restaurant POS, the stakes are different. A POS takes in-person payments, prints receipts and, in some countries, must meet fiscal rules.
Ask whether the POS can keep taking cards when the internet drops, for how long, and who carries the loss if an offline payment is later declined. For prices, see what a restaurant POS costs in the US and the UK restaurant EPOS buyer's guide.
MenuBeacon is not a full POS replacement. It isn't a cash register and has no TSE, so in Germany you use it alongside your TSE-secured Kassensystem; see Germany's TSE and KassenSichV rules.
In Pakistan, MenuBeacon doesn't connect to FBR, PRA or SRB. On either plan, it prints kitchen tickets and order summaries, never the guest's bill or receipt. Where PRA, SRB or FBR rules apply, that receipt comes from your integrated billing system; see who must use an integrated POS in Pakistan.
How MenuBeacon answers these questions, and where it stops
MenuBeacon is hosted software: staff and guests use it in a browser, so there's no server for you to run.
- Price (US, UK and EU editions). Free costs $0 and doesn't expire: 3 menus with unlimited items, 20 table QR codes, 5,000 menu scans a month, table ordering and the live kitchen dashboard, with guests paying cash or at the counter. Free has no staff accounts. Pro is $20 a month, billed in US dollars, month to month. Whether Pro is billed per restaurant or per account isn't published, so ask before you move several sites.
- Card payments. On Pro, in the US, UK and EU editions, guests can pay at the table by card through the restaurant's own Stripe account, at standard Stripe fees, with no commission on orders or tips. MenuBeacon isn't a certified payment processor and doesn't claim PCI certification, SOC 2 or ISO 27001; which PCI self-assessment questionnaire applies to you is a question for Stripe, because payments run on your own Stripe account.
- Outages. Live updates have a polling fallback, and there is limited offline continuity for signed-in staff cash workflows (not delivery or new sign-ins), so a reliable connection is recommended. No uptime guarantee is claimed.
- Security. Before data is read or changed, the server checks who is signed in, which restaurant they can reach and what they may change (security and data controls).
- Your data. The restaurant controls its customer data. In the US, UK and EU editions, canceling Pro drops you back to Free with your data kept. Reports are on every plan and export to CSV. There is no menu-only export button, and the hosting region isn't published, so ask if either matters to you.
- Integrations (Pro, US, UK and EU editions). Signed webhooks (HMAC-SHA256) to up to 3 HTTPS endpoints, a public menu API and a display-only website widget.
- Editions. The US, the UK, EU member states and Pakistan. In the Pakistan edition, Free is Rs 0 and Pro is Rs 5,000 a month, billed locally in rupees; guests pay cash or at the counter, with no online card payments. Elsewhere, contact the team before signing up.
Where it stops: there is no self-hosted version, the public menu API isn't a full management API, and there's no POS sync. If any of those decides it for you, look at a self-hosted system or a POS instead.
Decision checklist: cloud or self-hosted
Start from cloud. Price self-hosting only if at least one of these is true:
- You need a change or integration no hosted product offers.
- A contract or regulator requires you to hold the data yourself (on a rented server, check that the hosting company's terms satisfy it).
- You run enough sites that per-location fees outgrow one developer's hours (see the group sums above).
Then self-host only if all of these are true:
- A named developer owns updates, version upgrades, certificate renewals and restore tests for three years, and you've priced their hours.
- You've also priced the middle route: paying a developer, an agency or the project's own support team to host and patch it. TastyIgniter offers managed setup, migration and priority help at a custom price (TastyIgniter).
- Your payment setup redirects to the processor's own page, or you're ready to secure the page that embeds the card form.
- You've run the router-off test and have a plan for every row of the failure table.
If no reason applies, or any condition fails, choose cloud, and get the vendor's export options in writing before you sign.
Sources, checked October 13, 2026
- DigitalOcean, Droplet pricing (undated)
- US Bureau of Labor Statistics, Web Developers and Digital Designers (modified August 27, 2026; May 2025 pay data)
- Square for Restaurants pricing (undated)
- Stripe: US pricing, Integration security guide, PCI compliance guide and Checkout docs (undated)
- PCI Security Standards Council blog, FAQ 1588 (February 28, 2025)
- Verizon, 2026 Data Breach Investigations Report (2026 edition; incidents November 1, 2024 to October 31, 2025)
- Let's Encrypt, Decreasing Certificate Lifetimes to 45 Days (December 2, 2025)
- PHP, Supported Versions, Ubuntu release cycle, Ubuntu 26.04 packages for PHP 8.5, php8.5-intl and MariaDB, and MariaDB maintenance policy (undated)
- TastyIgniter homepage, version 4 installation docs, Table Ordering listing, extensions list and GitHub repository (MIT license) (undated)
- Odoo 20.0 documentation, Self-ordering and Source install, and the POS Self Order manifest and POS Self-Order online payment manifest (undated)
- Oracle, Food and Beverage and GloriaFood homepage notice (undated)
- UK GDPR Article 28 (latest revised text); EU GDPR on EUR-Lex
Frequently asked questions
Is there a free, open-source restaurant ordering system?
Yes. TastyIgniter's code is MIT-licensed, and Odoo's self-ordering module sits in its LGPL-3 Community edition, so neither core charges a license fee. Free code isn't a free system, though: TastyIgniter's table QR ordering is a third-party extension with a $49-a-year license key, and either option still needs a server, backups and someone to keep it patched.
Do I still need PCI compliance if Stripe handles the card payments?
Yes. Stripe shrinks the job, but you still attest every year, and your Stripe Dashboard shows your documentation requirements. If your page embeds Stripe's card fields, you can meet the 2025 script-attack condition for SAQ A with your own script controls (PCI DSS Requirements 6.4.3 and 11.6.1) or with the processor's confirmation that its embedded form, set up as instructed, includes protection against script attacks. Ask your card processor or acquiring bank to confirm SAQ A is the right questionnaire.
Can I move from a self-hosted ordering system to a cloud one later?
Yes, but plan it as a rebuild, not a transfer. Export your menu and orders first (TastyIgniter's free Import & Export Tool writes them to CSV or Excel), rebuild the menu in the new system, test a guest order, then replace your table QR codes. MenuBeacon has no automatic account migration: on Pro, AI menu import drafts a menu from a photo or PDF for you to review, and CSV import, also on Pro, is a separate tool.
Can I self-host MenuBeacon?
There is no self-hosted or on-premise version. MenuBeacon is web-based: guests open the menu in their phone browser and staff use the dashboard in a browser on a tablet, laptop or phone. If you need orders in your own systems, Pro (US, UK and EU editions) can send signed webhooks for order, status, payment and other events to endpoints your developer sets up.
What's the difference between a cloud POS and a traditional POS?
A traditional, on-premise POS keeps its software on a server or terminal in your restaurant, so it can keep ringing up orders on your network when the internet drops; you or your reseller maintain the hardware, updates and backups. A cloud POS runs on the vendor's servers: you usually pay a subscription, and updates arrive automatically. With either, what works offline, card payments included, depends on its offline mode. MenuBeacon isn't a full POS replacement; it can run alongside one.
Written by
MenuBeacon Team
Product & hospitality team
The MenuBeacon team builds QR menu, table ordering, and pay-at-table software for restaurants, and writes practical guides for owners running a modern front of house.
Send us your menu. We set it up free in 48 hours.
MenuBeacon gives your guests a QR menu and table ordering, and your kitchen a live screen. The Free plan never expires. Send a photo or PDF of your menu and we build it for you, or start on your own. See plans and pricing or how it works.
