Skip to content

Public Demo

Aleksandr Artamokhov edited this page Jun 26, 2026 · 1 revision

Public demo mode (AIFACTORY_DEMO_READONLY=1)

Disclaimer: The live site magic-ai-factory.com is a shared demonstration. Admin login is passwordless (admin, click Enter admin demo). Do not treat it as a private factory. Self-host for full owner controls.


What it does

When AIFACTORY_DEMO_READONLY=1 is set in .env (read by docker compose), the backend blocks operations that would let casual visitors corrupt the shared demo:

Blocked Why
Factory backup download Prevents exfiltrating all demo products/secrets
Factory restore Prevents wiping or replacing the shared catalog
Settings → Save Keeps Director/autopilot/URLs stable for everyone (includes GA / head snippet — use NEXT_PUBLIC_GA_MEASUREMENT_ID in .env on demo)
Admin password change Demo admin is passwordless — keeps shared login stable
Admin user CRUD No add/delete/edit; super-admin accounts are never deletable

Still allowed on demo: browse Pipeline, LLM logs (read), sandbox preview (admin + storefront), git push from sandbox, create products (within normal pipeline), most read-only admin tabs.

Important exception: in Settings, factory_on_hold (Factory pause toggle) is still writable on demo so operators can stop/resume runs without opening full settings writes.

There is no “delete product” button in the UI on any instance.


Required on the public demo host

In project root .env (not in git — survives docker compose build / up):

AIFACTORY_DEMO_READONLY=1

docker-compose.yml passes it through:

AIFACTORY_DEMO_READONLY: ${AIFACTORY_DEMO_READONLY:-0}

After changing .env:

docker compose build app
docker compose up -d app

fill_production_env.py appends AIFACTORY_DEMO_READONLY=1 when you pass --public-url pointing at magic-ai-factory.com (see Deployment).


Self-hosted instances

Leave AIFACTORY_DEMO_READONLY=0 (default) or omit the variable. Use a private bootstrap password, enable backup/restore in Settings, and rotate credentials.


How the UI shows it

  • Settings: blue banner — backup/restore and platform saves disabled.
  • GET /api/admin/auth/me: public_demo: true, blocks_* flags for the SPA.

Full detail: docs/security.md · backup/restore: Owner-Guide §7

Clone this wiki locally