Rails-native operations for Kamal
The Night’s Watch
See the health of your Kamal server inside the Rails app you already run, with signed host metrics, protected access, and no Docker socket mounted into your application.

Implementation
From Rails app to live server health
Set up the protected engine first, then install the standalone metrics pusher on the Linux host.
- 01
Ask your coding agent to set up the engine
The Markdown guide works with Codex, Claude, Cursor, or another agent that can edit your Rails app.
Read the LLM installation guideRead https://tnw.catalinionescu.dev/llms-install.md and install The Night's Watch in this Rails app. - 02
Review the credentials and defaults
Register the server, generate its ingestion secret, and confirm authentication, retention, and sampling.
Tnw.configure do |config| config.metrics_sample_interval = 5.seconds config.metrics_retention = 7.days config.metrics_ingestion_token = ENV["TNW_METRICS_INGESTION_TOKEN"] config.metrics_accepted_clock_skew = 30.seconds end - 03
Install the host pusher
Run this on the Linux host. It installs only the collector, protected configuration, and a systemd timer or cron fallback.
Inspect the script before running itcurl -fsSL https://tnw.catalinionescu.dev/install.sh | sudo bash
InspectableThe host installer is public and never modifies the Rails application.
Rails-owned accessUse your existing admin authentication or explicit basic auth.
Read-only firstHost metrics arrive as signed JSON; the app does not mount the Docker socket.