# laraport

Source: https://laraport.app/

> Your Laravel servers, a keypress away. A terminal UI for Laravel apps running in Docker, locally or on any server you can SSH into: logs, Tinker, queues and Horizon, databases and files. Nothing to install on the server.

laraport is free for local Docker and one SSH server; a license adds more servers. It runs on macOS and Linux. Your servers need Docker and SSH, nothing else: it runs the docker commands you would, over your own SSH connection.

## What it does

- **Servers**: any number of SSH servers and the local Docker in one place, with containers up and down, disk, load and warnings.
- **Containers**: one list per server, grouped by Compose project, Swarm stack, Dokploy app or Coolify project, with health, ports and live CPU and memory.
- **Laravel**: reads the app in the container: version, environment, drivers, caches and pending migrations. Artisan, Tinker, queues, schedule, routes and deploy commands are a key away.
- **Logs**: Laravel, Docker and nginx logs, followed live. Search as you type, keep only errors, jump from one to the next. A 2 GB laravel.log opens as fast as a small one.
- **Errors**: the log's exceptions grouped by kind, how often each happened, and the latest one with its stack trace.
- **Tinker**: PHP in the booted app on the server, with the result, the time and the memory it took.
- **Horizon**: throughput, wait times, workload and supervisors, refreshed every 3 seconds, with pending, completed and failed jobs.
- **Database**: the database from the app's own config as a table. Every edit shows its SQL and runs only when you confirm. Redis keys too.
- **Files**: browse the container, view files with highlighting, edit `.env` with a diff, upload and download.

## Careful with production

Anything that changes data asks first and shows the exact command or SQL. On production, editing has to be switched on, and a server can be marked read-only.

## Nothing to install on the server

- No agent, no open ports, no telemetry. Once a day laraport asks GitHub for its latest release; that can be turned off.
- Database passwords and Tinker code travel over stdin, so `ps` on the server never shows them.
- It uses your keys and your `known_hosts`, and jump hosts, ssh-agent and `sudo -n docker` work as they do in `ssh`.

## Install

With Homebrew, on macOS and Linux:

```bash
brew install alexbabintsev/tap/laraport
```

Then run `laraport`. The local Docker is there without any config; `i` imports the hosts of `~/.ssh/config`.

## Links

- [Documentation](https://laraport.app/docs/)
- [Demo video, under three minutes](https://www.youtube.com/watch?v=lODNqe99sV0)
- [Pricing](https://laraport.app/pricing/)
- [Changelog](https://github.com/alexbabintsev/laraport/blob/main/CHANGELOG.md)
