dropbits Documentation

Install locally

PHP only — no Composer or npm for the CMS itself. Two ways to browse:

  1. Hub (clone-and-run) — create named sites, optional staging at /install/<id>/
  2. Minimal demo only — php -S on dropbits/public (kernel inspect)

Requirements

  • PHP 8.2+ CLI with pdo_sqlite and zip
  • A checkout with playground/ beside dropbits/ — see Get the kernel

From the clone root (playground/ + sibling dropbits/):

php playground/bin/serve
# open http://127.0.0.1:8090/  — create a site, edit at /<id>/
php playground/bin/deploy <id>

Optional staging: fill LOCAL_INSTALL_ROOT on the hub, then open /install/<id>/.

Local create lands in deployable/<id>/ (no TTL). The public playground host is a different profile (TTL under dropbits/sites/<id>/).

Bootstrap the shipped demo (kernel CLI)

cd dropbits
./bin/site migrate
./bin/site seed-minimal   # shell home + main_nav — not a finished brochure
./bin/site boot

Greenfield sample content (optional, non-live only):

./bin/site pack-install showcase && ./bin/site enable showcase
./bin/site tool-run create_demo --role=admin --json='{"site_name":"Demo"}'

Do not run create_demo as part of a WordPress / WXR import — see WXR / WordPress migration.

Serve HTTP

# From dropbits/
php -S 127.0.0.1:8080 -t public
# open http://127.0.0.1:8080/home
# login http://127.0.0.1:8080/login

Default demo login is often admin / admin unless DROPBITS_ADMIN_PASSWORD is set. Live sites refuse that default — see Log in & roles.

For a non-default site id:

DROPBITS_SITE=<id> php -S 127.0.0.1:8080 -t public public/router-dev.php

Click lab (checkout hub)

Durable gitignored sites/lab/ on this kernel (not _smoke, not the public TTL host).

cd dropbits
php tests/lab.php          # reset (blog + users_admin) then check
# Hub: php playground/bin/serve from clone root → http://127.0.0.1:8090/lab/

CI remains php tests/smoke.php on _smoke.

Private site ids (dev)

Tracked sites.json ships the minimal demo only. Register private trees in gitignored dropbits/sites.local.json and keep files under sites/<id>/ on the host. See Site directory layout.

See also