tomatophp/tomato-eddy
A TomatoPHP integration for Eddy that brings server and deployment management into your Laravel admin panel, with configurable resources, commands, and a ready-to-use UI for monitoring and controlling Eddy workflows.
composer require tomatophp/tomato-eddy and ensure the underlying Eddy package is installed and migrated first. Tomato plugins are usually auto-discovered; if not, register the plugin/provider in your Tomato panel configuration.config/tomato-eddy.php for panel/navigation/resource settings.src/TomatoEddyServiceProvider.php for registration, publishing, and route/migration loading.database/migrations for the site_id-related schema and ordering.routes/ and src/Filament (or Tomato resource classes) for the server/site/deployment UI.php artisan vendor:publish --tag=tomato-eddy-config
php artisan vendor:publish --tag=tomato-eddy-migrations
php artisan migrate
site_id before wiring it into any automation.$site = Eddy\Models\Site::findOrFail($siteId);
$site->deployments()
->latest()
->first();
site_id.site_id as the primary scoping key everywhere: policies, table filters, deployment history, and any custom reports.site_id not exists issue. If you hit “column not found: site_id” or a foreign-key/migration error, upgrade to v1.0.20, republish migrations if needed, and run php artisan migrate. Then verify the column exists:php artisan tinker
Schema::hasColumn('eddy_deployments', 'site_id');
sites table must exist before any deployment migration references site_id. If you have an existing install, check php artisan migrate:status and inspect the deployment migration rather than editing vendor files.php artisan config:clear
php artisan optimize:clear
php artisan queue:work is running and review failed jobs before assuming the package is broken.known_hosts, the deploy user’s shell, or missing write permissions on the target path. Test the same SSH command manually before debugging package code.site_id values in code or seeders. Resolve sites by a stable slug/domain/path and store the ID only in the database.site_id scope can make admin/debug pages confusing.How can I help you explore Laravel packages today?