Ownware
Home›SaaS Kit›Quickstart
SaaS Kit · Quickstart

SaaS Kit Quickstart, as shipped in the download

The QUICKSTART.txt in the download — the same steps your delivery email carries.

OWNWARE SAAS KIT — QUICK START

WHAT THIS IS
  A multi-tenant control plane that turns a single-tenant Ownware product into a SaaS you
  operate/resell. Each tenant gets its OWN separate database (isolation by construction).
  Targets a VPS/operator — per-tenant DBs need CREATE-DATABASE privileges (not a $3 shared host).

INSTALL (2 minutes)
  1. Upload the contents of app/ to your control-plane web root (e.g. saas.yourdomain.com).
  2. Point wildcard DNS  *.app.example.com  at this server (add it as a ServerAlias).
  3. Open the domain in a browser — the installer starts. Enter your control-DB details,
     your wildcard app domain, and your operator (super-admin) account.
  4. Put each product's app/ on the box and point its adapter (app/products/<slug>.php) at it.

LOCAL TEST DRIVE
  php -S localhost:8000 router.php        (uses bundled zero-config SQLite)
  Signup:   http://localhost:8000/
  Operator: http://localhost:8000/admin/login

SEED A DEMO
  php bin/seed.php     -> operator admin@ownware.test / admin12345 + ~8 demo tenants across
                          products/plans/statuses (products not on your box are skipped)
  php bin/demo.php     -> reset + reseed the demo

WIRE A PRODUCT (~1 hour, mostly copy)
  1. In the product's index.php, read $GLOBALS['__ownware_tenant_config'] before config.php
     (the "boot shim" — already applied to Slotly in this catalog).
  2. Copy app/products/slotly.php, point app_path at the product, and make the install closure
     reuse the product's own installer. Add it to the products map in config.php.

BILLING
  Demo mode (default) simulates the lifecycle with NO live charge and NO keys.
  For live billing: set billing.provider = 'stripe' (or 'lemonsqueezy') + your keys in config.php,
  and point the provider's webhook at  https://<app-domain>/billing/webhook . Keys are never logged.

TESTS
  Core:      docker run --rm -v "$PWD/app:/app" -w /app php:8.3-cli php tests/run.php
  Isolation: php app/tests/isolation_all.php  -> proves per-tenant DB isolation for EVERY
             registered product installed on your box (missing products are skipped).
  See README for the single-product live proof too.

Full docs in README.md.

← Back to SaaS Kit · API · Test run

Affiliate program
Recommend tools people own — earn 35% on every sale. 90-day tracking, instant delivery, payouts by Lemon Squeezy.
Become an affiliate →