One app. All your local dev environment.
Servel is a desktop app (Tauri 2 + Vue 3) that orchestrates your local development environment from a single UI: switch PHP and Node versions, and start/stop Docker-based services — without juggling three terminals every morning.
- PHP version switching via phpvm — list installed versions, switch active, install new.
- Node version switching via fnm — same workflow as PHP.
- Docker services orchestration — MySQL, PostgreSQL, Redis, RabbitMQ, MongoDB, MinIO, Mailpit, Gotenberg, SQL Server. Toggle what you need, click Start.
- Auto-detect
.phpvmrc/.nvmrc— point Servel at a project folder, it picks the right versions. - Persistent state + system tray — Servel remembers your last selection; runs from the tray so it does not crowd your taskbar.
- Dynamic
docker-compose.ymlgenerator — only the services you toggled on are written to the compose file. Saves RAM, keeps the runtime clean.
Download the installer for your OS from the Releases page.
Servel v1.0 ships unsigned for Windows and macOS. Workarounds are documented below; see the FAQ for the long-term plan.
- Download
Servel_1.0.0-beta.1_x64-setup.exefrom Releases. - Run the installer.
- Windows SmartScreen will warn: "Windows protected your PC". Click More info → Run anyway.
- Follow the NSIS installer wizard.
- When prompted about
.wslconfig, choose:- Yes (Overwrite) — replace your existing
%USERPROFILE%\.wslconfigwith the Servel-recommended one. - No (Append) — append Servel's WSL2 settings to the bottom of your existing file.
- Cancel (Skip) — leave
.wslconfiguntouched; you can edit it manually later.
- Yes (Overwrite) — replace your existing
- Launch Servel from the Start Menu.
After install, restart WSL once so the new .wslconfig takes effect:
wsl --shutdown- Download
Servel_1.0.0-beta.1_aarch64.dmg(Apple Silicon) orServel_1.0.0-beta.1_x64.dmg(Intel) from Releases. - Open the DMG, drag Servel.app into your Applications folder.
- On first launch macOS Gatekeeper blocks the app because it is unsigned. Open Terminal and run:
xattr -d com.apple.quarantine /Applications/Servel.app
- Launch Servel from Applications or Spotlight.
- Download
Servel_1.0.0-beta.1_amd64.AppImagefrom Releases. - Make it executable and run:
chmod +x Servel_1.0.0-beta.1_amd64.AppImage ./Servel_1.0.0-beta.1_amd64.AppImage
Servel orchestrates external tools — it does not install them for you. Make sure these are available on your PATH before first run.
- Windows / macOS: Docker Desktop — make sure it is running before starting any service from Servel.
- Linux: Docker Engine + the Compose v2 plugin. Add your user to the
dockergroup so you do not needsudo.
- Repo: github.com/devhardiyanto/phpvm
- Install via the instructions on the repo (PowerShell on Windows, shell installer on Linux/macOS).
- After install, add the
phpvmhook to your shell profile so version switching takes effect in new terminals:phpvm hook
- Repo: github.com/Schniz/fnm
- Install via the official installer or your package manager (
winget install Schniz.fnm,brew install fnm,cargo install fnm). - Add the fnm shell hook to your profile as documented in the fnm README.
On first launch Servel runs an Onboarding flow:
- Prerequisites check — Servel detects Docker, phpvm, and fnm. Missing items get a red badge with a link to the install instructions.
- Pick your services — toggle the services you usually use. You can change this later.
- Pick versions — choose your active PHP and Node versions from the lists detected by phpvm and fnm.
- Done — you land on the Dashboard. Click Start to bring up your selected services.
Servel runs from the system tray. Right-click the tray icon for:
- Show Servel — open the main window.
- Start all selected — bring up every service currently toggled on.
- Stop all — bring down every running service.
- Quit Servel — exit the app (services keep running unless you stopped them first).
Another process is bound to the port Servel needs. Find it and stop it:
# Windows
netstat -ano | findstr :3306
# macOS / Linux
lsof -i :3306Stop the offending process, or change the service port mapping in Servel Settings.
Start Docker Desktop (Windows/macOS) or the Docker daemon (Linux: sudo systemctl start docker) before clicking Start in Servel.
Make sure your shell profile (~/.bashrc, ~/.zshrc, or PowerShell $PROFILE) sources the phpvm hook. Run phpvm hook and follow the printed instructions, then restart your shell.
WSL only reads .wslconfig at startup. After install (or after editing the file), run:
wsl --shutdownThen start Docker Desktop again.
Servel v1.0 is unsigned to keep the project free of certificate costs during beta. SmartScreen will show a warning — click More info → Run anyway. Code signing is on the roadmap for v1.1 if adoption justifies the cost.
This is Gatekeeper's quarantine attribute on an unsigned app. Remove it:
xattr -d com.apple.quarantine /Applications/Servel.appApple notarization is on the roadmap for v1.1.
Check the Logs viewer for that service. Common causes: image still pulling on first run, port conflict, or Docker out of disk space (docker system prune to reclaim).
Bug reports, feature requests, and pull requests are welcome.
- Issues: github.com/devhardiyanto/servel/issues
- Discussions: github.com/devhardiyanto/servel/discussions
Please include your OS, Servel version, and relevant log output when filing a bug.
npm install
npm run tauri devRequirements: Node.js 20 LTS, Rust stable (via rustup), and platform-specific build tools (Visual Studio Build Tools "Desktop development with C++" on Windows; Xcode Command Line Tools on macOS; standard build-essential + libwebkit2gtk-4.1-dev on Linux).
Servel does not collect, transmit, or store any personal data. All configuration is saved locally on your machine only. There is no telemetry, no analytics, and no network calls except those explicitly initiated by the user (Docker image pulls, phpvm / fnm version installs, etc).
Free code signing on Windows provided by SignPath.io, certificate by SignPath Foundation.
- Committers and reviewers: @devhardiyanto
- Approvers: @devhardiyanto
This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it.
MIT. See LICENSE for details.




