Files
ladill-link/DEPLOY.md
T
isaaccladandCursor 29993040bd
Deploy Ladill Link / deploy (push) Successful in 58s
Read Afia AI credentials from platform admin settings.
Link Afia now resolves provider, model, and API keys from ladilldb.platform_settings like the monolith, with .env fallbacks for local dev.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-27 14:34:43 +00:00

56 lines
1.5 KiB
Markdown

# Ladill Link — deployment
Ladill Link is the platform URL shortener. Public short URLs live on **ladl.link**; the management app runs at **link.ladill.com**.
## Domains
| Host | Purpose |
|------|---------|
| `ladl.link` | Public short-link resolution (`/{slug}`) |
| `link.ladill.com` | SSO management UI (create/edit links) |
Both vhosts point at the same Laravel app. Set `LINK_PUBLIC_DOMAIN=ladl.link` in `.env`.
## Pricing
GHS **0.05** per link created (`LINK_PRICE_PER_LINK_GHS`). Debited from the central UserWallet via the Billing API.
## Platform onboarding
From the monolith:
```bash
php artisan ladill:onboard-app link --run-dns
php artisan ladill:launcher:sync --propagate --push
```
Register the Passport OIDC client:
```bash
php artisan passport:client \
--name="Ladill Link" \
--redirect_uri="https://link.ladill.com/sso/callback"
```
Set `BILLING_API_KEY_LINK` and `IDENTITY_API_KEY_LINK` on both monolith and this app.
Grant read access to platform AI settings:
```bash
sudo mysql -e "GRANT SELECT ON ladilldb.platform_settings TO 'ladill_link'@'127.0.0.1'; FLUSH PRIVILEGES;"
```
Afia reads `ai_*` keys from `platform_settings` (same as ladill.com admin). Optional `AFIA_API_KEY` in `.env` overrides for local dev.
## Legacy URLs
`https://ladill.com/q/{code}` continues to work for existing QR and storefront codes. New links use `https://ladl.link/{code}`. Unknown slugs on ladl.link fall back to the legacy resolver.
## Database
```bash
php artisan migrate --force
```
Database name: `ladill_link`.