Private
Public Access
1
0

Add license key gate, migrate marketing site to separate repo

- install.sh: prompt for license key as first step, validate against
  makeyourown.website/api/validate before any system changes
- setup.sh: secondary key check (format-only if .license-key exists,
  server validation if missing)
- Remove website/ directory — marketing site, keyserver, and deploy
  scripts migrated to the websites repo (git.constantprojects.xyz/
  tankadmin/websites.git) for independent deployment
- Update CLAUDE.md, guide.md, .gitignore to reflect migration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
constantprojects
2026-02-24 12:50:24 -07:00
parent 1750efeb05
commit 0bef817f7b
19 changed files with 119 additions and 2211 deletions

View File

@@ -95,6 +95,30 @@ WordPress depends on db with `condition: service_healthy`.
- nginx entrypoint: On SSL failure, serves HTTP placeholder explaining DNS isn't ready. User retries with `docker compose restart nginx`.
- install.sh: Uses `sg docker` for immediate Docker group activation without logout/login.
## Marketing Site & License Keys (separate repo)
The marketing site (makeyourown.website) and license key validation server live in a **separate repository**: `https://git.constantprojects.xyz/tankadmin/websites.git` (local: `~/claude/projects/websites`). This is business infrastructure that runs on its own VPS, independent of any WebsiteBox test/product deployments.
### License key validation (client-side)
- `install.sh` prompts for a license key as the very first step (before any system changes)
- `setup.sh` has a secondary check (format-only if `.license-key` file exists, server validation if missing)
- **Endpoint:** `POST https://makeyourown.website/api/validate` with body `key=WBOX-XXXX-XXXX-XXXX-XXXX`
- **Key format:** `WBOX-XXXX-XXXX-XXXX-XXXX` (uppercase alphanumeric, no ambiguous chars 0/O/1/I/L)
- **Behavior:** Burn-on-use — keys are consumed on first activation
- **Storage:** `.license-key` file in project root (gitignored, chmod 600)
### What lives where
| Concern | Location |
|---------|----------|
| Key check in install flow | This repo: `install.sh`, `setup.sh` |
| Keyserver, key generation, marketing site | `websites` repo: `services/keyserver/`, `scripts/generate-keys.sh`, `sites/makeyourown.website/` |
| Key storage (keys.txt) | `websites` VPS: `services/keyserver/keys.txt` |
### Business rules
- WebsiteBox is **not free** and **not "open source"** — code is auditable, buyers can read every line before purchasing
- Do not say "free" or "open source" in marketing content
- Pricing tiers: Standard $49 one-time, Lifetime Updates $149 one-time, Managed $25/month (all placeholder amounts)
## Non-Goals (v1)
Payment processing, multi-site WordPress, automatic VPS provisioning, built-in CDN, email server (SMTP relay config only).