Configuration reference
Every setting is an environment variable with a sensible default. Override them in an .env file in the deployment directory.
Defaults work out of the box
The requested login (ddacata / Dd329148 / Yordan Yordanov) is
baked in as the default, so a fresh deploy needs no configuration. Copy
.env.example to .env only to change something.
Variables
| Variable | Default | Purpose |
|---|---|---|
PORT | 3000 | Port the Node app listens on. |
HOST | 0.0.0.0 | Bind address. Use 127.0.0.1 behind nginx; 0.0.0.0 if standalone. |
AUTH_USER | ddacata | Login username. |
AUTH_PASS | Dd329148 | Login password. |
DISPLAY_NAME | Yordan Yordanov | Name shown in the header when signed in. |
SESSION_HOURS | 168 | How long a login stays valid (hours; 168 = 7 days). |
SESSION_SECRET | auto-generated | HMAC key for signing the session cookie. Set this for a stable key. |
Example .env
SESSION_SECRET=replace-with-a-long-random-string
AUTH_USER=ddacata
AUTH_PASS=Dd329148
DISPLAY_NAME=Yordan Yordanov
PORT=3000
HOST=127.0.0.1
SESSION_HOURS=168
After editing, restart: sudo systemctl restart weather-dashboard.
The session secret
If SESSION_SECRET is unset, the server generates one on first run and saves
it to .session_secret in the app directory, so logins survive restarts.
Setting it explicitly is recommended for production and lets you rotate it deliberately
(rotating invalidates existing logins).
Changing the displayed name
Set DISPLAY_NAME and restart. The name is HTML-escaped and injected into
the header on each request, so the change takes effect immediately for new page loads.
Pointing the proxy elsewhere
The Polymarket upstreams are defined near the top of server.js as
GAMMA_UPSTREAM and CLOB_UPSTREAM. If your server's region is
blocked, change these to an allowed proxy and restart. See
Troubleshooting.