100% Free & Open SourceOffline-FirstSelf-HostedNo SubscriptionKitchen Display IncludedTable & Reservation Management

The free restaurant POS that never needs the internet

NodeDR OrderRestro is a free, open-source restaurant management system — billing, tables, a live kitchen screen, reservations, and customer loyalty. It runs on a computer inside your restaurant, so service keeps running even when the WiFi doesn’t.

No credit card, no account, no trial period — download the code and run it.

ORDERRESTRO

RUNS ON YOUR OWN TILL

LICENSEFREE
CORE MODULES12+
INTERNET NEEDEDNONE
SETUP TIME<10 MIN

YOUR RESTAURANT · YOUR DATA
YOUR SERVER, NOT OURS

NodeDR OrderRestro dashboard showing today's revenue, orders, occupied tables, and kitchen queue
  • AGPL-3.0 LicenseFree to use, modify, self-host
  • Offline-firstKeeps running with no internet
  • Self-hostedYour data stays on your server
  • Live kitchen displayNo paper tickets to lose
  • Every device on WiFiTills, tablets, kitchen screen
  • Open sourceFork it, extend it, own it
Features

Everything a restaurant floor and kitchen need

Built for dine-in, takeaway, and kitchen operations — not a retail checkout with a menu bolted on.

  • POS & billing

    Ring up dine-in, takeaway, and delivery orders. Split or merge bills, apply discounts and gift cards, add tips, take cash/card/UPI or a mix of payments, and process refunds — all from one screen.

  • Tables & floor plan

    A visual floor plan shows which tables are free, seated, or reserved at a glance. Seat a walk-in, add them to the waitlist, or move a party to a bigger table in a couple of taps.

  • Live kitchen display

    Orders appear on a kitchen screen the moment they're sent — routed to the right station, with priority tickets and live timers so nothing sits forgotten under the pass.

  • Menu & combo builder

    Organize your menu into categories, add modifier groups (extra cheese, spice level, no onions), build combo meals, and mark items unavailable the moment you 86 them.

  • Reservations & waitlist

    Take bookings, manage the day's seating, and keep a live waitlist with estimated wait times — synced to the same floor plan your host and servers already use.

  • QR table ordering

    Every table gets a QR code that opens a read-only view of your live menu — handy for guests who want to browse before a server arrives, no app download needed.

  • Inventory & stock

    Track ingredients, not just finished dishes. Recipe-based costing, purchase orders, supplier goods receipts with batch and expiry tracking, and waste logging — stock is deducted automatically as orders are billed.

  • Customer profiles & loyalty

    Every guest gets a profile with visit history, loyalty points, and feedback. See your regulars and reward them without a third-party loyalty app.

  • Staff accounts & permissions

    Give each staff member their own login with exactly the permissions their role needs — a server shouldn't be able to edit the menu, and a cashier shouldn't see payroll.

  • Real-time dashboard

    Today's revenue, order count, occupied tables, and kitchen queue update live as service happens — one screen tells you how the shift is actually going.

  • Printable receipts

    Print a receipt on any printer connected to the till through your browser's print dialog, or save it as a PDF — no special thermal-printer driver required to get started.

  • Works offline, on your network

    The whole system runs on a computer inside your restaurant. Every till, tablet, and kitchen screen on the same WiFi keeps working — orders, billing, and printing — even if the internet connection drops.

Screenshots

See it in action

Real screenshots from a running NodeDR OrderRestro instance — the dashboard, POS, kitchen display, floor plan, and more.

NodeDR OrderRestro dashboard showing today's revenue, orders, occupied tables, and kitchen queue
Dashboard — today's revenue, orders, occupied tables, and kitchen queue at a glance
NodeDR OrderRestro point of sale screen with a menu grid and an order cart for dine-in or takeaway
Point of Sale — tap items onto an order, pick a table, send straight to the kitchen
NodeDR OrderRestro kitchen display screen with tickets in New, Accepted, Preparing, and Ready columns
Kitchen Display — live tickets by station, with priority flags and elapsed-time timers
NodeDR OrderRestro floor plan showing table status and a guest waitlist
Floor plan & waitlist — see every table's status and seat walk-ins in seconds
NodeDR OrderRestro reservations screen for managing bookings and seating
Reservations — take bookings and manage the day's seating
NodeDR OrderRestro customer profile with loyalty points and visit history
Customer profiles — loyalty points and visit history, built in
NodeDR OrderRestro menu management screen with a combo meal builder
Menu management — categories, modifiers, and a combo meal builder
NodeDR OrderRestro inventory screen with ingredient stock levels and low-stock alerts
Inventory — ingredients, low-stock alerts, and weighted-average recipe cost
NodeDR OrderRestro purchase orders screen listing supplier, status, and total
Purchase orders — supplier, status, and order total in one list
Where to run it

One setup, wherever you need it

“Offline-first” describes how it runs, not where it has to live. Same software, same data, same login — no separate “cloud” mode to configure.

🏠

Default, recommended

A local LAN server

One machine in the restaurant runs the software. Every till, tablet, and kitchen screen on the same WiFi or Ethernet reaches it. No internet connection is needed once it's running — order-taking, billing, the kitchen display, and printing all keep working with the WAN cable unplugged.

☁️

For remote management

Any VPS or cloud server

The identical setup also runs unmodified on a rented cloud server (DigitalOcean, Hetzner, AWS, etc.) if you'd rather manage one restaurant — or several branches — remotely instead of on-site. Nothing else about the software changes.

🔒

Reachable from outside the LAN

Behind a tunnel

Point a tunnel (Cloudflare Tunnel, ngrok, Tailscale Funnel, or any reverse proxy) at it for a real HTTPS address with no port-forwarding. Once traffic reaches it over https://, turn on Secure cookies in settings — plain http:// LAN setups leave this off by default.

📦

One-click app install

CasaOS / ZimaOS

Pre-built images, no build step — install straight from an app manifest URL on a CasaOS or ZimaOS home server. Official app store submission is pending; it installs today via CasaOS's own custom-install flow.

Works everywhere — right now

Any device on the restaurant’s network

The server runs on Linux, macOS, or Windows. Every till, tablet, or phone on the same network opens it straight in a browser — no per-device app to install.

🐧LinuxWorks now
🍎macOSWorks now
🪟WindowsWorks now
📱TabletWorks now
💻Any PCWorks now
Architecture

How it works

One port exposed. The web app proxies API calls to the backend over the internal Docker network — the backend and database are never reachable from your LAN directly.

  Browser / LAN tablet
        │  http://<machine>:1995   (the ONLY exposed port)
        ▼
┌──────────────────────────┐  /api/* proxied server-side  ┌──────────────────────┐
│   web  :1995              │ ──────────────────────────▶  │  backend (internal)  │
│   Next.js / React         │ ◀──────────────────────────  │  NestJS + Socket.IO  │
└──────────────────────────┘   (internal Docker network)   └──────────┬───────────┘
                                                                       │
                                                                       ▼
                                                          PostgreSQL (Docker volume)
                                                          Your data never leaves

One port, one origin

Port 1995 is the only exposed port. The API and its Swagger docs are reachable only through the web app's /api proxy — never published directly to your network.

Realtime, not polling

A Socket.IO gateway pushes table, kitchen ticket, and order updates into a per-restaurant room the instant something changes — screens update themselves.

Data in a Docker volume

PostgreSQL persists in a named Docker volume. Containers restart, rebuild, and update; your orders, menu, and inventory stay untouched.

Comparison

How OrderRestro stacks up

Versus a hosted subscription POS and the pen-and-spreadsheet approach.

Platforms like Petpooja sell on simplicity and support — a fair pitch for a first POS. We optimize for a different number: how few taps it takes to ring up a table, since that’s the number your staff feels on every single order.

FeatureOrderRestroHosted subscription POSPen & spreadsheet
CostFree foreverMonthly feeFree
Billing on one screen, no tab-switching mid-saleVaries by productN/A
Works without internet
Live kitchen displayPaid add-on
Table & reservation managementPaid tierManual
Menu & combo builder
Inventory & recipe costingPaid add-onManual
Customer loyalty programPaid tier
Staff accounts & permissions
Printable receipts
Data stays on-site
No vendor lock-in
Open source
Getting started

Up and running in under 10 minutes

No manual setup, no config files to edit. If you're not comfortable with a computer terminal, any local IT helper can run the one command below for you.

1

Install (or update) with one command

Pick your OS below. One command checks for Docker and git, installs either if missing, then clones the repo and runs the installer — builds both images, starts the stack, and prints the URL when ready.

$
curl -fsSL https://raw.githubusercontent.com/Raktim94/nodedr-restaurant-pos/master/scripts/quickstart.sh | bash

Installs Docker Desktop and git via Homebrew if either is missing.

2

Open it in a browser

Once setup finishes, open the address it prints in any browser and sign in. A short wizard then walks you through your restaurant's name, tables, and first menu items.

$
# Open in a browser:
http://localhost:1995
3

Start taking orders

Add your menu, then go to Point of Sale — tap items, pick a table, send to the kitchen. Any tablet or phone on the same WiFi can be a second till.

$
# From any device on the restaurant's WiFi:
http://<restaurant-computer's-address>:1995
No subscription, no per-seat fees, no data ever leaves your infrastructure. The same setup runs on the computer in your restaurant, or on a rented cloud server if you'd rather manage things remotely — either way it's the same install, the same data, the same login.
Roadmap

What’s built, and what’s next

OrderRestro is under active, transparent development. This is the real phased plan — checkboxes in the repo, not marketing promises.

Phase 0

Foundation

Shipped
  • Monorepo & shared typespnpm + Turborepo, Zod schemas shared between the API and web app via one source of truth.
  • Auth & RBACJWT httpOnly cookie sessions, PIN quick-switch, granular per-role permissions seeded across 11 restaurant roles.
  • Design system foundationWine/burgundy theme tokens, light + dark palettes, a responsive shell verified on desktop and mobile.
  • Docker Compose stackPostgres, backend, and web services building and running end to end.
Phase 1

Core POS

Shipped
  • Menu managementCategories, items, and modifier groups with default selections and min/max limits.
  • Floor & table managementFloors, table tiles, and live status shown on one floor view.
  • POS order screenDine-in and takeaway, category tabs, modifier picker, running cart.
  • KOT generationOrders routed to kitchen stations with a full status lifecycle.
  • Live Kitchen DisplayUpdates in real time, elapsed-time timers, a warning past 15 minutes.
  • Billing & checkoutTax-inclusive pricing with GST/VAT correctly backed out, discounts, multi-payment, printable receipts — including direct-USB thermal printing, not just the browser print dialog.
  • Dashboard v1Today's revenue, orders, table status, and kitchen queue at a glance.
Phase 2

Kitchen depth & reservations

Shipped
  • Reprint & priority ticketsReprint any KOT, flag a ticket priority, see a per-station performance report.
  • ReservationsFull booking lifecycle, with the table's status updating automatically as a reservation moves along.
  • WaitlistSeat a walk-in straight from the floor view, table assigned in one action.
  • QR table ordering (view-only)Each table gets a QR code that opens a public, read-only live menu — no app needed.
Phase 3

CRM, loyalty & combos

Shipped
  • Customer profilesOrder history, notes, allergies, birthday and anniversary — searchable at checkout.
  • Loyalty pointsEarned on every sale, redeemed at checkout, capped at the customer's balance and the bill total.
  • Gift cardsIssue a card, look up its balance, redeem it as a payment source.
  • Combo mealsA menu item can declare its component items through a combo builder.
  • Billing depthTips, refunds capped at what's actually refundable, and merging two open tables' bills into one.
Phase 4

Inventory & store management

Shipped
  • Ingredient-based inventoryWeighted-average cost, recomputed automatically on every goods receipt.
  • Recipes & live costingA recipe's cost recalculates from current ingredient prices, not a stale snapshot.
  • Purchase orders & goods receiptsFull PO lifecycle with batch/lot and expiry tracking on every delivery.
  • FIFO waste loggingPriced at the actual batch that spoiled, not a blended average.
  • Automatic stock deductionIngredients deduct on checkout, but a stock shortfall never blocks a paid sale.
  • Procurement depthVendor quotations with side-by-side price comparison, staff purchase requests with an approval flow, and vendor invoices with payment tracking.
Phase 5

Delivery & online ordering

Planned
  • Delivery managementDelivery zones, charges, delivery staff, live tracking, and history.
  • Full QR orderingPlace an order, customize items, and request the bill — straight from the table, not just view-only.
  • Online ordering surfacesA restaurant website, click & collect, and scheduled orders.
Phase 6

Staff, accounting & multi-branch

Planned
  • Employee recordsAttendance, shift scheduling, leave, tip distribution, performance reports.
  • PayrollRun payroll directly from staff and attendance records.
  • AccountingSales ledger, expenses, P&L, GST reports, bank reconciliation, daily cash closing.
  • Branch managementCentralized reporting and inventory across multiple restaurant locations.
Phase 7

Reporting, marketing & maintenance

Future
  • Full reports catalogFilterable, exportable (CSV/PDF/Excel), with scheduled email delivery.
  • Analytics dashboardsFood cost, inventory valuation, peak hours, retention, and margins.
  • MarketingCoupons, promotions, happy hours, SMS/email/WhatsApp campaigns.
  • Maintenance & documentsEquipment tracking, service schedules, and digital SOPs.
Phase 8

Hardening & packaging

Future
  • Hardware peripheralsCash drawer, customer display, weighing scale, label printers — direct-USB thermal printing already shipped in Phase 4.
  • IntegrationsPayment gateways, SMS/email/WhatsApp, accounting software, delivery platforms.
  • Security hardeningTwo-factor authentication, a full audit log, backup/restore utilities.
  • SQLite deployment variantFor very small single-till operators who'd rather not run Postgres.
  • Native installersWindows and Linux packages that skip Docker entirely, mirroring the sister product's approach.

Want to shape the roadmap?

Open a feature request on GitHub or contact us — this is early-stage with a lot of open scope, and community feedback drives what gets built next.

NodeDR OrderRestro is made and maintained by NODEDR INFOTECH PRIVATE LIMITED. It is free, open-source software released under the AGPL-3.0 License — you can use it, modify it, and run it in your restaurant with no restrictions.

Official website: www.nodedr.com

FAQ

Common questions

Ready to run your restaurant for free?

One command. Your own computer. Your restaurant’s data stays where it belongs — with you.