Lampd is a Linux desktop app that helps you manage local development services from a simple dashboard.
Inspiration: Lampd was inspired by mysql-control, a lightweight MySQL service controller for Linux.
If you are new to Linux and often feel lost with commands like systemctl, journalctl, apt, dnf, or pacman, Lampd is designed to make those tasks easier.
With Lampd, you can:
- see whether a development service is running or not
- start, stop, restart, enable, or disable services
- read service logs without opening a terminal
- install missing services
- install specific PHP versions
- switch between PHP-FPM versions when more than one version is installed
Lampd currently focuses on common Linux development services:
- Apache
- Nginx
- MySQL
- PHP-FPM
- PostgreSQL
- Docker
- Podman
Lampd is a good fit for:
- beginner Linux developers
- Ubuntu, Debian, Fedora, or Arch users
- PHP, Laravel, or WordPress developers
- developers who want to manage services without memorizing terminal commands
- anyone who wants quick access to service logs and status
For each supported service, Lampd can:
StartStopRestartEnableDisable
Lampd shows whether a service is:
- running
- stopped
- unavailable / not installed
- enabled at boot or not
Lampd includes a built-in log panel so you can inspect service output in real time.
This is useful for things like:
- finding out why Apache failed to start
- checking PHP-FPM errors
- inspecting PostgreSQL logs
- reviewing Docker service output without leaving the app
If a service is not installed, Lampd can show:
- the correct install command for your Linux distribution
- an option to copy the command
- an option to run the install directly from the app, when supported
For PHP-FPM, Lampd supports installing specific PHP versions.
Examples include:
- PHP 5.6
- PHP 7.4
- PHP 8.1
- PHP 8.2
- PHP 8.3
- PHP 8.4
- PHP 8.5
Lampd also labels the support level for each version, such as:
ReadyNeeds RepoLegacy
If you have more than one PHP-FPM version installed, Lampd can help you switch between them.
Behavior:
- the selected PHP version is started
- other active PHP-FPM versions are stopped automatically
- logs follow the newly active version
This is especially useful when different projects require different PHP versions.
Linux development often depends on terminal commands. That is powerful, but it can be intimidating for beginners.
Common problems include:
- forgetting the correct systemd service name
- not knowing how to check logs
- confusion around package names across distributions
- not knowing whether a service failed to start or is simply not installed
- managing multiple PHP versions by hand
Lampd aims to solve that with a desktop UI that is easier to understand.
In simple terms:
- the frontend shows a dashboard
- the Rust backend talks to your Linux system
- Lampd uses
systemctlto control services - Lampd uses
journalctlto read logs - Lampd adjusts install commands based on your Linux distribution
Lampd is not a replacement for Linux tools. It is a simpler interface on top of the tools that already exist.
For installation features, Lampd currently focuses on:
- Ubuntu / Debian
- Fedora
- Arch Linux
Distribution detection is automatic.
When installing PHP versions, Lampd uses three labels:
-
ReadyThis version is relatively reasonable to install on the current distribution. -
Needs RepoThis version may require an additional repository. -
LegacyThis is an older version and may be harder to install or no longer available in standard repositories.
This helps set the right expectations before you run an install.
Before running Lampd, make sure you have:
- Linux
systemd- Node.js installed
- Rust installed
- Tauri Linux dependencies available
On Ubuntu or Debian, you will usually need:
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-devIf you use Fedora or Arch, you will need equivalent packages for your distribution.
npm install
npm run tauri devnpm run tauri buildTypical build output includes:
.deb(Debian / Ubuntu).rpm(Fedora / RHEL)AppImage
You can also download pre-built packages from the latest release.
- Open Lampd
- Find the
Apachecard - Notice the status says
Not Installed - Click
Install - Choose either:
Copy CommandRun Install
- After installation, refresh the service list
- Click
Start
- Open the
PHP-FPMcard - Click
Install Version - Choose the version you want
- Review the support label and command preview
- Copy the command or run the install directly
- Once installed, the new version will appear in the PHP version switcher
- Click
Logson the service card - Read the latest output
- Use the log messages to understand the failure
Lampd still has some limitations:
- it does not switch the default
phpCLI binary - it does not rewrite Apache or Nginx config for a selected PHP version
- some older PHP versions may require additional repositories
- package names and service names may still vary by distribution
- direct installation depends on
pkexecif you want to run installs from inside the app
- React
- Vite
- TypeScript
- Tailwind CSS
- Zustand
- Rust
- Tauri
- systemd (
systemctl,journalctl)
If a button or action fails, the cause is usually one of these:
- the service is not installed
- the system needs elevated permissions
- the package manager is locked by another process
- your distribution requires an additional repository
- the service unit name is different on your system
If you are unsure where to start, do this:
- check the service status in Lampd
- open the logs
- see whether the service is
Not Installed,Stopped, orError
Lampd has one simple goal:
make Linux development service management easier, especially for people who are not yet comfortable living in the terminal.
MIT
