Euphoria DevelopmentEuphoria Development Docs

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

  1. Provision PostgreSQL and create a dedicated database/user.
  2. Install dependencies and configure .env.
  3. Run pnpm db:migrate (or pnpm db:push for initial boot if required).
  4. Seed initial admin with pnpm seed if needed.
  5. Build and run via pnpm build and pnpm start.
  6. 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).