title: Running it nav: Running it order: 1
Running it
cd example/Chat
./bin/punk-chat
Then open https://localhost:5443/ and accept the certificate warning.
What that script does
bin/punk-chat generates a self-signed certificate if there is not one
already, starts the application on a Hyperman worker, and puts a TLS
terminator in front of it.
TLS is deliberately not configured in lib/Chat.pm. A certificate is a
property of a listener, not of an application, and terminating in front is the
only shape that serves wss:// on a Hyperman deployment. See the README for
the longer version of that argument.
Without TLS
For poking at it with curl, the plain app is an ordinary PSGI application:
plackup app.psgi
WebSockets will want a real server rather than the default one:
hyperman --app app.psgi --port 5000
The database
State lives in a SQLite file next to the application, created on first run.
Point it somewhere else with PUNK_CHAT_DSN:
PUNK_CHAT_DSN='dbi:SQLite:dbname=/tmp/chat.db' ./bin/punk-chat