Skip to main content

Manual Install

Source runs are intended for development, configuration validation, and troubleshooting. Use release packages for production deployments.

The source path does not invoke the release installer. Provide PostgreSQL, TimescaleDB, Redis, Go, and Bun yourself.

Run Dash from Source

cp configs/config.example.yaml config.local.yaml
export monitor_dash_pwd='<password>'
go run ./cmd/dash migrate -config config.local.yaml
go run ./cmd/dash -debug

For local use without Redis:

go run ./cmd/dash -debug --no-redis

With --no-redis, admin sessions and frontend caches are process-local and disappear on restart. Alert pending/cooldown state and MTProto login state are process-local in both modes; open alert events and notification outbox rows persist in PostgreSQL.

Frontend development server:

cd web
FRONT_TEST_API=http://127.0.0.1:8080 bun run dev

The Vite development server proxies only /api and /theme. Frontend code still uses same-origin relative paths.

Run Node from Source

Local mode:

./node local 0.0.0.0 9100

Push mode:

./node report install https://dash.example.com/api/node/metrics '<node-secret>'
./node push 3

Select interfaces:

./node push 3 --net eth0,eth1

Require HTTPS:

./node report install https://dash.example.com/api/node/metrics '<node-secret>' --require-https
./node push 3 --require-https

Build Release Packages

Dash package:

bash scripts/package.sh \
--version 1.2.3 \
--node-version 1.2.3 \
-o release \
-t linux/amd64 \
--tar-gz

Node build:

./scripts/build.sh --version 1.2.3

Manual Service Boundary

Manual installs must provide their own service units, log rotation, reverse proxy, TLS, and backups.