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.
Config
Section titled “Config”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.
Widgets
Section titled “Widgets”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.
Outbound requests
Section titled “Outbound requests”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.
Frontend
Section titled “Frontend”Plain HTML, CSS and ES modules, with no build step. The dashboard and the admin are separate pages.