Skip to content

Setup Wizard

The setup wizard runs in your browser and configures your Moneta Pay POS from scratch. It's identical on Windows and Linux — the wizard is served by the dashboard-server binary at http://localhost:3000/setup.

Overview

The wizard has four steps:

  1. Database — Create and configure the PostgreSQL database
  2. Business — Enter your restaurant details
  3. Printers — Connect thermal printers
  4. Execute — Finalize setup, request a license, and start the server

Step 1: Database

The wizard provisions your PostgreSQL database automatically:

  • Creates the moneta_pos database and user
  • Runs all schema migrations
  • Installs the event queue event queue extension (used for printing and fiscal compliance)

What you need to provide:

FieldDefaultDescription
HostlocalhostPostgreSQL server address
Port5432PostgreSQL port
Superuser Password(auto-filled on Windows)The postgres user password

On Windows, the installer pre-fills the password. On Linux, enter the password you set during PostgreSQL installation.

TIP

The wizard creates a dedicated moneta_pos database user with a randomly generated password. You don't need to create this manually.

Step 2: Business Details

Configure your restaurant:

FieldDescription
Business NameYour restaurant name (appears on receipts)
CountrySelect from 10 supported African countries (Kenya, Uganda, Tanzania, Rwanda, Burundi, DRC, South Sudan, South Africa, Nigeria, Ethiopia)
VAT RegisteredToggle on if your business is registered for VAT — enables tax calculation
EmailBusiness email — verified via a one-time code (OTP) sent to this address

The country selection determines default tax rules (e.g., Kenya: 16% VAT + 2% CTL) and currency.

You'll also create the admin account here:

FieldDescription
UsernameAdmin login username
PasswordAdmin login password

Remember Your Credentials

The admin username and password are needed to log into the dashboard after setup. There's no password reset without database access.

Step 3: Printers

Configure your thermal printers. Printers connect via TCP/IP over your local network.

Receipt Printer

The customer-facing printer for payment receipts:

FieldExampleDescription
Name"Reception Printer"Friendly name
IP Address192.168.1.100Printer's network IP
Port9100TCP port (standard for ESC/POS)

Kitchen Printers

One or more printers for kitchen order tickets. Each kitchen printer can be assigned to specific menu categories (e.g., "Bar" printer only gets drink orders).

FieldExampleDescription
Name"Kitchen Main"Friendly name
IP Address192.168.1.101Printer's network IP
Port9100TCP port
CategoriesFood, StartersMenu categories routed to this printer

Skip for Now

You can skip printer configuration and set it up later in Admin → Printers from the dashboard.

Step 4: Execute

The final step runs all configuration tasks:

  1. Writing configuration — generates config.yaml with database credentials, JWT secrets, and server settings
  2. Creating database schema — runs migrations to create all tables
  3. Running migrations — applies any pending schema changes
  4. Installing event queue — sets up event queue for async printing and fiscal events
  5. Seeding data — creates the admin user, default menu categories, and business record
  6. Requesting trial license — contacts the Moneta Pay portal to issue a trial license
  7. Registering VPN tunnel — sets up WireGuard for remote access (if available)
  8. Starting POS Server — launches the backend API server

Trial License

The wizard automatically requests a trial license from the Moneta Pay portal:

FeatureTrial Limits
Duration21 days
Waiters15
Terminals3
FeaturesAll features (Analytics, Stock Engine, ESD, M-PESA, Credit, Remote Access)
Grace Period7 days after expiry

To continue after the trial, purchase a plan at portal.moneta-pay.app.

Email Verification

If you enter an email address during setup, the wizard sends a verification code to confirm your identity. This links your installation to your portal account for license management.

After the Wizard

Once the wizard completes:

  1. The dashboard redirects to the login page
  2. Log in with the admin credentials you created in Step 2
  3. You'll see the System Health page showing your server version, license status, and active terminals

What's Running

ServiceURLPurpose
Dashboardhttp://localhost (port 80 via nginx)Web management interface
POS APIhttp://localhost:8080Backend for POS clients and the dashboard

TIP

Nginx is configured as a reverse proxy on port 80, forwarding to the dashboard on port 3000. You can access the dashboard at http://<server-ip> without specifying a port.

Configuration Files

text
C:\MonetaPOS\config.yaml        # Server configuration
C:\MonetaPOS\license.json       # License file
C:\MonetaPOS\pg_password.txt    # PostgreSQL password
text
/etc/moneta_pay/server.yaml     # Server configuration
/etc/moneta_pay/license.json    # License file

Next Steps

Your POS is ready to use. Here's what to do next:

Re-running the Wizard

The wizard only runs once. After completion, a .setup_complete marker file is created. If you need to re-run it (e.g., to reconfigure from scratch):

powershell
Remove-Item C:\MonetaPOS\.setup_complete
.\dashboard-server.exe restart
bash
sudo rm /etc/moneta_pay/.setup_complete
sudo systemctl restart moneta-pos-dashboard

Then open http://localhost:3000/setup again.

DANGER

Re-running the wizard on an existing installation will overwrite your configuration. Your database data is preserved, but the config file and license will be regenerated.

Moneta Pay POS — Built for African Restaurants