Demo Mode: Static UI with simulated interactions only
ShutHost
Install Host Agent
Run the following command in your terminal:
Loading...
Adjust options as needed. Add the output to the hosts
section of your config on the Coordinator Host:
/this/is/a/demo.toml
Hosts Table
Host
Status
Leases
Actions
Install Client
Run the following command in your terminal:
Loading...
Optionally, you can specify a custom client ID as the second
argument. Add the output to the clients section of your config on the Coordinator Host:
/this/is/a/demo.toml
Clients Table
Client ID
Leases
Actions
Architecture Documentation
ShutHost provides two different architectural views depending on your use case:
Simplified Architecture
When to use: This architecture applies when you have no clients defined in your configuration.
In this scenario, only the WebUI interacts with hosts through the coordinator.
Complete Architecture
When to use: This architecture applies when you have clients defined in your configuration.
This enables programmatic access where multiple clients can access hosts concurrently.
🔒 Required Security Exceptions
Authentication Bypass Required
For the web app and installation scripts to work properly, certain endpoints must be accessible without authentication. If you're using a reverse proxy with authentication (like Authelia, NPM with auth, etc.), you need to configure bypass rules for:
/download/* - Installation script downloads
/api/m2m/* - Machine-to-machine API communication
/manifest.json - PWA manifest (required for webpage installability)
/favicon.ico - Favicon (required for webpage installability)
This allows the installer scripts and web app to download necessary files and communicate with the coordinator API without requiring user authentication. The manifest and favicon exceptions are required for proper browser and PWA support.
Configuration Examples
Authelia:
Loading...
Nginx Proxy Manager with Authentication:
# In your proxy host's advanced configuration
location ~ ^/(download|api/m2m|manifest.json|favicon.ico)$ {
auth_basic off;
proxy_pass http://your-shuthost-backend;
}
Traefik with ForwardAuth:
Loading...
Replace backend references with your actual configuration values.