Overview
Euphoria Licensing is a proprietary self-hosted web application for license operations, product validation workflows, and admin management.
A valid commercial license is required to deploy this software. Redistribution, sublicensing, or source resale is not allowed.
Minimum Requirements
- OS: Linux recommended (Windows Server/Desktop supported)
- Runtime: Node.js
22.x + pnpm 10.22.0
- Database: PostgreSQL
14+ (15/16/17 recommended)
- Memory: 2 GB minimum, 4 GB recommended
- Production: Reverse proxy and TLS for public deployment
Quick Install
For first boot on a production-like host:
cp .env.example .env
pnpm install --frozen-lockfile
pnpm db:migrate
pnpm seed
pnpm build
pnpm start
Open http://SERVER_IP:3000 (or your domain) and rotate seeded admin credentials immediately.
Required Environment Values
APP_URL: Public HTTPS URL used for auth callbacks and generated links.
BETTER_AUTH_SECRET: Strong random auth secret.
APP_GUARD_TOKEN: Distribution license guard token.
POSTGRES_URL or POSTGRES_*: Database connection configuration.
HOST/PORT: Runtime bind values (usually 0.0.0.0 and 3000 behind proxy).
Recommended hardening: set APP_DATA_ENCRYPTION_KEY, configure TRUST_REVERSE_PROXY=true, and restrict CORS_ORIGINS to known origins.
Production Flow
- Provision PostgreSQL and create a dedicated database/user.
- Install dependencies and configure
.env.
- Run
pnpm db:migrate (or pnpm db:push for initial boot if required).
- Seed initial admin with
pnpm seed if needed.
- Build and run via
pnpm build and pnpm start.
- Put the app behind Nginx/Caddy and enable HTTPS.
Built runtime entrypoint: .output/server/index.mjs
Health Checks
After go-live, verify these endpoints:
curl -fsS https://licensing.example.com/api/system/health
curl -fsS https://licensing.example.com/api/system/ready
curl -fsS https://licensing.example.com/openapi.json
Smoke test essentials: admin login, product listing, license validation endpoint, and logs view.
Troubleshooting
APP_GUARD_TOKEN is missing: Set the token in .env and restart.
- Database connection failed: Re-check
POSTGRES_URL/POSTGRES_* and network/firewall access.
- Build failures: Confirm Node.js
22.x and pnpm 10.22.0, then reinstall deps.
- App unreachable: Check process health and proxy target (
127.0.0.1:3000 by default).