Prod
The production command runs the built application. It requires bun run build first.
Running
bun run prod # Run server and client preview
bun run prod server # Server only (port 3000)
bun run prod client # Client preview only (port 4173)
The server serves both the API and static files on port 3000. The client preview on port 4173 is for testing the frontend build independently.
Environment
Production mode uses .env.production:
NODE_ENV=production
DATABASE_URL=postgresql://user:password@prod-host:5432/quickdapp
SESSION_ENCRYPTION_KEY=your_32_character_production_key
How it Works
bun run prod runs dist/server/binary.js, which sets production environment defaults (via EMBEDDED_ENV) before loading the server. This ensures NODE_ENV=production is set before any configuration is evaluated.
The binary entry point also extracts bundled static assets to a temp directory and serves them via the static file plugin.
Binary vs bun run prod
bun run prod runs binary.js with Bun. Use this for local testing or when Bun is installed on the server.
Binary deployment uses self-contained executables with no dependencies:
./dist/binaries/quickdapp-linux-x64
For production servers, prefer the binary approach for simplicity and reliability.
Testing Production
bun run build
NODE_ENV=production bun run prod
# Verify
curl http://localhost:3000/health