You can open any local Laravel project with Invoker by using the "Open local project" button on the Invoker home screen. Invoker will prompt you to select the folder that contains your Laravel project. After you selected your project folder, Invoker scans your project for Eloquent models, Artisan commands and Mailables and you are ready to go.
In order for Invoker to connect to your application database, it will use the configuration of your Laravel app and models. You can connect to projects that are on remote servers, or projects within Homestead/Docker, using the SSH method.
To connect to a Laravel project via SSH, choose "Set up SSH connection" on the Invoker home screen. This opens up a modal with all the available SSH connection settings.
Once you have saved the SSH settings, you can click on the project to connect Invoker to your codebase.
If you are using a project hosted on Laravel Vapor, you can use Invoker by accessing your local codebase and establish an SSH tunnel to your Vapor/AWS database.
We will look into how we can simplify the setup in future versions of Invoker, but in the meantime you can use this workaround to connect Invoker with a database on AWS/Laravel Vapor:
Create a Jumpbox on Laravel Vapor, to connect to your database (depending on your database setup, this might not be required)
Create an SSH tunnel to your jumpbox for your database port. Replace
YOUR-VAPOR-JUMPBOX-PRIVATE-KEY with the location of the private key used for your jumpbox and
YOUR-VAPOR-JUMPBOX-HOST with the host of your Vapor jumpbox.
ssh -i ~/YOUR-VAPOR-JUMPBOX-PRIVATE-KEY -N -L 13306:[database host]:3306 ec2-[email protected]YOUR-VAPOR-JUMPBOX-HOST
.env file to include the username and password from your Vapor provisioned database, as well as the tunneled port of your Jumpbox (13306 in the example above).
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=13306 DB_DATABASE=vapor DB_USERNAME=vapor DB_PASSWORD=secret
In Invoker, you can now open your local project and it will connect to your Vapor hosted database, through the Jumpbox SSH tunnel.
Invoker 2.0 does not have the same seamless Docker connections as Tinkerwell (yet). We are working on a better integration within the next versions but don't have an ETA for this at the moment. To connect Invoker to your Docker container, your container needs to allow incoming connections via SSH. Follow the "Opening remote projects via SSH" documentation to learn how to connect to remote servers.
After you have created a local or remote connection, you can customize certain settings for the given project. This includes the way that Invoker persists its settings, the ability to scan for models, mailables and notifications in your vendor folder, as well as choose a color that will be used on the project list to quickly identify projects.
By default, Invoker does not persist the project specific settings (such as visible columns, accessors, widgets, and dashboards) in the project directory - but only in your local user path. This means that all the widgets and dashboards that you create, will not be visible to other teammembers. If you want to share these settings with others, turn this on. Note: Beware that Invoker will write these settings to your project when you are connected via SSH.
This setting determines if Invoker should not only scan your application for Eloquent models, mailables, and notifications, but also all of your composer dependencies. This can be very helpful when your dependencies ship their own models or mailables that you want to inspect - such as Laravel Cashier. Enabling this setting might introduce longer loading times when opening a project.
The project color that you pick here will be used on the project list. You can use this setting to distinguish a production environment from a local development environment.