Skip to content

How Stackyard works

Stackyard is one container. Nginx serves the interface from ui/ and passes /api/ to a Node server in api/. The API has no npm dependencies.

All state is one JSON file, apps.json. The admin writes it and the dashboard reads it. Secrets stay on the server and never reach the browser.

Each widget is a frame on the dashboard. The frame asks the API for its data. The API runs that widget’s data.js, which calls the service. See Build your first widget.

Every request to another host goes through api/src/proxy.js. A URL that arrives in a request is checked against private addresses. A URL from saved config is not. ALLOW_PRIVATE_IPS turns the check off.

Plain HTML, CSS and ES modules, with no build step. The dashboard and the admin are separate pages.