Repository navigation
v2.0.0 — Rewrite from .NET Blazor Server to Laravel
Major rewrite: .NET Blazor Server → Laravel
Automator has been completely rebuilt on a new stack. This is the same tool with the same feature set — script library, live-streamed script execution, cron scheduling, a Claude-powered AI assistant, role-based access, audit logging, and an admin dashboard — but the entire implementation has changed from the ground up.
Why
The previous ASP.NET Core 9 / Blazor Server implementation tied real-time UI updates directly to Blazor's SignalR circuit model and required a self-contained .NET runtime per platform. This release moves to a PHP/Laravel stack that's easier to self-host on standard Linux infrastructure (PHP-FPM + nginx), with an explicit WebSocket layer (Laravel Reverb) replacing Blazor's built-in circuit-based streaming.
What changed
- Framework: ASP.NET Core 9 / Blazor Server → Laravel 13 with Livewire 3 + Volt
- Real-time updates: Blazor Server's SignalR circuits → Laravel Reverb (WebSocket broadcasting) for live script output and AI token streaming
- Auth & roles: ASP.NET Core Identity → spatie/laravel-permission (Admin / Developer / Operator / Viewer), username-based login with lockout
- Script execution: in-process
ScriptRunnerService→ queuedRunScriptJob(Symfony Process) on a dedicatedexecutionsqueue, still supporting Bash, PowerShell, Python, Ansible, and Terraform (init + apply) - Scheduler: 15-second in-process background tick → cron-driven
dispatch-due-jobscommand on a systemd timer (60-second granularity) - AI assistant: Guzzle-based SSE streaming from the Anthropic API, broadcast token-by-token into a CodeMirror 6 editor (previously CodeMirror 5)
- Dashboard: charts now rendered with Chart.js
- Deployment: self-contained .NET binary + systemd + nginx → PHP-FPM + nginx, with new systemd units for queue workers, Reverb, and the scheduler tick
- Windows/IIS packaging has been dropped — this release targets Linux (Ubuntu, RHEL/Rocky/AlmaLinux) only
Upgrading
This is a from-scratch application — there is no automatic data migration path from a v1.x SQLite database. Fresh installs seed default roles, users, and example scripts as before. See docs/INSTALL.md for the updated installation steps.
Default credentials (change immediately)
| Username | Password | Role |
|---|---|---|
admin |
Admin1234! |
Admin |
operator |
Operator1234! |
Operator |
viewer |
Viewer1234! |
Viewer |