DevsPro is live on Product Hunt. Come say hi
Latest release · see what's new

Your local dev stack, in one window.

DevsPro runs nginx or Apache sites with trusted HTTPS, Docker, databases, queue workers, mail, logs and ports from one desktop app for Linux and Windows. Anything that needs root or administrator rights goes through one small helper that can only do a fixed list of things.

Also for Linux: .deb · .rpm Also for Windows: 64-bit installer

Free, MIT licensed Signed in-app updates Source on GitHub
Illustration of the DevsPro Dashboard, drawn from the app. The figures are examples.

Why DevsPro

HTTPS for every local site

Add a site and it gets a certificate from a local CA that DevsPro creates and adds to your system's trust store for you.

Services with a start button

Containers, compose stacks, databases with admin UIs, queue workers, scheduled tasks and a mail catcher, each with its logs.

See what the machine is doing

Which process holds which port, which app holds your RAM, and where the disk space went.

The tools you keep switching to

Terminal, SSH and SFTP, a database browser, an HTTP client, a browser and terminal AI agents, with a terminal docked beside any page.

Modules

25 modules. Switch off the ones you don't use.

Open a module from the sidebar or the launcher (Ctrl+K), or Ctrl+click it to open it in a window of its own. A module you switch off in Settings isn't loaded at all.

Services 8

Things with a lifecycle you start, stop and remove.

  • Web Server & SSL

    Proxy-to-port and Laravel sites with trusted HTTPS, served by nginx or Apache, including XAMPP, WAMP and Laragon installs. PHP versions, an optional Cloudflare tunnel, and a New Project wizard.

  • Docker

    Containers and compose stacks: start, stop, restart, logs, bulk actions and published ports. If Docker isn't running, start it from the page.

  • Databases

    MySQL, PostgreSQL, MongoDB and Redis in their own compose project, each with an admin UI, users, backup and restore.

  • Data browser

    Browse and edit rows in any MySQL or PostgreSQL database, local or remote, with a SQL console and export.

  • Mail Catcher

    Outgoing mail from local apps lands in Mailpit, built in or in Docker. No Docker needed, and it can start with DevsPro.

  • Workers

    Any command kept running in the background, like a Laravel queue worker, with its output as a console or a table.

  • Scheduled tasks

    Recurring commands on a schedule, with each run's output and, for a failed run, the matching Laravel log entry.

  • Redis

    Browse keys by pattern and watch Laravel queues: pending, delayed and reserved.

Dashboard & monitoring 6

The home screen, and read-mostly views onto the machine.

  • Dashboard

    Live CPU per core, memory, GPU, storage, network and temperatures, with a health summary, and port conflicts when there are any.

  • Processes

    What is listening on which port, and stop it.

  • Memory

    See which apps use your RAM, stop them, and let a watchdog close idle ones when memory runs out.

  • Logs

    Tail nginx access and error logs and Laravel logs per site.

  • HTTP client

    Send any request to your local sites, trusted through the app's own CA, with a history to rerun.

  • Browser

    Tabs, split view, bookmarks, saved logins, history, device presets and the Web Inspector, in a native webview.

System 11

The machine, your files and servers, and the app itself.

  • Cleaner

    Find what is eating disk space (caches, Docker, large files, project junk) with a storage map, and clear it after a review.

  • Apps

    Install dev tooling: nginx, Docker, PHP, Node and nvm, MySQL, PostgreSQL, Python, Git, Claude Code, Codex CLI, cloudflared and more. On Windows, pick the Docker Desktop version.

  • Files

    A Finder-style explorer with your drives and devices, and editor tabs with syntax highlighting, git blame and diffs.

  • Env Diff

    Compare two .env files by variable and copy values across.

  • Hosts file

    Edit the hosts file entry by entry, with DevsPro's own lines told apart from the system's.

  • SSH

    Saved hosts, key generation, and installing a key on a host.

  • AI agents

    Run Claude Code, Codex, Gemini CLI, OpenCode and other terminal coding agents in a project folder.

  • Terminal

    Local and SSH shells with split panes, windows and pop-out, a file browser that follows the shell, and a terminal docked beside any page.

  • SFTP

    A two-pane file browser for a saved host, with favourite folders, multi-select and Download as zip.

  • Remote Desktop

    VNC screens viewed in-app, and RDP sessions in your system's RDP client.

  • Settings

    Theme and interface size, which modules load, autostart and tray, your external editor, updates, and backup and restore.


Web Server & SSL

A new Laravel project, served over HTTPS, in one go.

The New Project wizard scaffolds Laravel, adds the site, creates a database, writes .env and runs migrations, reporting each step as it goes.

  • Served by nginx or Apache, including the one in XAMPP, WAMP or Laragon
  • Proxy-to-port sites for anything that listens on a port
  • A locally-trusted certificate per site from a CA DevsPro manages
  • An optional public Cloudflare tunnel, per site

Illustration drawn from the app.

Cleaner

Find the gigabytes. Then decide.

See how much space you can free, grouped by risk: package caches, Docker leftovers, large files and the biggest folders, and node_modules or target in projects you haven't touched in a while. The Storage map shows any folder or drive as a treemap you can zoom into.

  • Scans change nothing; every clean goes through a review list
  • Each cache is cleaned with its own tool's command
  • Removed files go to the Trash unless you choose otherwise
  • DevsPro's own database volumes are protected

Illustration drawn from the app. The sizes are examples.

Terminal and AI agents

Your shells, your servers and your agents, side by side.

A tmux-style terminal with split panes and windows, docked beside any page with Ctrl+`, saved SSH hosts and SFTP, and a launcher for terminal coding agents. Each agent opens in its own tab in the project folder you pick; DevsPro sees which are installed and installs the missing ones.

  • Claude Code
  • Codex CLI
  • Gemini CLI
  • OpenCode
  • Copilot CLI
  • Aider
  • Goose
  • Amp
  • and more, or your own command

Illustration

How privilege works

Root only where it's needed. Never for arbitrary commands.

DevsPro itself never runs elevated. Anything that needs root or administrator rights (web server config, the hosts file, the certificate trust store, package installs) goes through one small helper binary that applies a declared manifest of operations and exits. On Linux it is started with pkexec; on Windows, through a UAC prompt.

  • Write a file under one allowed prefix
  • Sync a marker-delimited block
  • Install named packages
  • Test and reload nginx or Apache
  • Trust the local root CA
  • Start or stop a system service
  • Install a verified DevsPro update
  • There is no run this command

On Windows the installer puts DevsPro and its helper in Program Files, where only administrators can write, so no other program can swap the helper before DevsPro elevates it. On Linux, what doesn't need root doesn't get it: nvm installs into ~/.nvm, npm globals go to your own npm prefix, and binaries like cloudflared land in ~/.local/bin.

What the helper receives when you add a site on Linux
{
  "allowed_write_prefix": "/home/you/.local/share/com.soab.devspro",
  "operations": [
    { "type": "EnsureNginxConfDInclude",
      "conf_d_dir": "/etc/nginx/conf.d",
      "sites_glob":
        "/home/you/.local/share/com.soab.devspro/nginx/sites/*.conf" },
    { "type": "SyncMarkedBlock",
      "file_path": "/etc/hosts",
      "marker_begin": "# >>> devspro (do not edit this block manually) >>>",
      "marker_end": "# <<< devspro <<<",
      "block_lines": ["127.0.0.1 shop.test"] },
    { "type": "RunNginxTest", "binary_path": "/usr/sbin/nginx" },
    { "type": "ReloadNginx",  "binary_path": "/usr/sbin/nginx" }
  ]
}
// The first failed step stops the rest: a config that
// fails nginx -t is never reloaded.
Linux and Windows

Every module on both.
A few honest differences.

Where Windows works differently, DevsPro does too, and the app says so rather than pretending otherwise.

WhatLinuxWindows
Elevationpkexec, with the polkit policy the package installsUAC
PHP for Laravel sitesPHP-FPM pools under /run/phpphp-cgi.exe, which DevsPro starts itself on a port per PHP version
nginx wiringA drop-in file in conf.dOne include added inside http{}, since Windows nginx has no conf.d
Trusting the local CAThe OS store and NSS, so Firefox and Chrome both trust itThe Windows Root store: Chrome and Edge trust it; Firefox needs security.enterprise_roots.enabled
Stopping a workerSIGTERM, so it can finish the job it's onForced, because Windows gives a GUI app no way to ask a console program to wind down
Apache wiringA drop-in file in conf.d or conf-enabledOne Include added to httpd.conf
Apache reloadsystemctl reload, else apachectl -k gracefulA running Apache (Laragon, XAMPP) is restarted without elevation
nginx not runningReloaded through systemdDevsPro writes the config and tells you to start nginx; it won't start it for you
Scheduled tasksA block in your crontabTask Scheduler
Installing toolsapt, dnf or pacmanwinget, which can also install a chosen version
Listening portsss and /procGetExtendedTcpTable; the full command line isn't shown, as Windows keeps it out of reach
Updates

Updates itself, and checks the signature twice.

DevsPro looks for a new version when it starts, every six hours after that, and whenever you ask in Settings → Updates. When one is out, the top bar says so. An update installs only if it was signed with the DevsPro release key, and never one older than what you have.

  1. Check

    Reads the release feed and compares versions. You see the release notes before anything downloads.

  2. Download and verify

    Fetches the package that matches how you installed it (.deb, .rpm or the Windows installer) and checks its minisign signature.

  3. Verify again, elevated

    The helper checks the signature itself against a key compiled into it, and refuses downgrades. On Linux, apt or rpm installs it after one password prompt; on Windows, the installer runs in passive mode, a progress bar only, after one UAC prompt.

  4. Restart

    DevsPro restarts on the new version, as you rather than elevated, with your sites, services and settings where you left them.

See what's new Current release: see the changelog
Download

Install DevsPro

For 64-bit Linux and Windows. Install once by hand; after that DevsPro updates itself.

Linux

Debian, Ubuntu, Pop!_OS

The .deb package.

sudo apt install ./DevsPro_*_amd64.deb
Download .deb

Fedora, RHEL

The .rpm package.

sudo dnf install ./DevsPro-*.x86_64.rpm
Download .rpm

Needs pkexec (polkit), which both packages depend on. The package also installs the polkit policy that lets the helper ask for your password.

Windows

Windows, 64-bit

One installer: DevsPro_*_x64-setup.exe

  1. Run it and approve the administrator prompt. It installs for every user on the machine, into Program Files, so Windows asks with UAC.
  2. If SmartScreen says “Windows protected your PC”, choose More info, then Run anyway. The installer isn't code-signed yet, so you'll see this the first time.
  3. No WebView2? It's fetched for you. If Microsoft Edge WebView2 is missing, the installer downloads it.
Download for Windows

Why it installs for all users

DevsPro starts its helper with administrator rights. In Program Files only administrators can change that file, so a program running as you can't replace the helper and wait for DevsPro to elevate it. A per-user install would leave it writable.

Updates after this one install from inside DevsPro, checked against its own signing key first.

FAQ

Questions

Which systems does it run on?

64-bit Linux and Windows. On Linux, the .deb is for Debian, Ubuntu, Pop!_OS and their relatives, and the .rpm is for Fedora and RHEL. On Windows there is one installer, DevsPro_<version>_x64-setup.exe. There is no macOS version.

Does it run on Windows?

Yes, every module does. A few things work differently because Windows does: elevation is a UAC prompt, Laravel sites run on php-cgi.exe that DevsPro starts on a port per PHP version, Firefox needs security.enterprise_roots.enabled to trust the local CA, and stopping a worker ends it rather than letting it finish its job. The full list is under Linux and Windows.

Why does Windows warn about the installer?

The installer isn't code-signed yet; that needs a code-signing certificate. Until it is, SmartScreen shows “Windows protected your PC” the first time you run it: choose More info, then Run anyway.

Updates after that don't depend on Windows' signing: DevsPro checks each one against its own minisign key, and its elevated helper checks again before it runs the installer.

Why no AppImage or Flatpak on Linux?

Elevation needs a polkit policy file in /usr/share/polkit-1/actions/, and only an installed package can put it there. Without it, every action that needs root (nginx config, /etc/hosts, the trust store, package installs) would fail, and that is most of the app.

What can DevsPro do with root or administrator rights?

Only the operations the helper knows: write files under one allowed prefix, sync a marked block in a file like /etc/hosts, install named packages, test and reload nginx or Apache, trust the local CA, fix a Laravel project's storage permissions, start or stop a system service, a few memory and disk cleanup tasks (the apt cache, journal and old snaps on Linux; Windows Temp, the Update and Delivery Optimization caches and crash dumps on Windows), and install a signed DevsPro update. Each run asks first: for your password through pkexec on Linux, with a UAC prompt on Windows. There is no operation that runs an arbitrary command.

Does it send anything anywhere?

No telemetry and no online account. Apart from the update check, DevsPro only goes online when you ask it to, for example to install a tool, open a tunnel or load a page in its browser. Your sites, services and settings stay on your machine (in ~/.local/share/com.soab.devspro on Linux), and Settings → Backup & restore exports them to one file.

How do updates work?

DevsPro reads a small release feed, downloads the package that matches how you installed it, and checks its minisign signature. The elevated helper checks the signature again before it installs, so even a tampered download that got past the app would be refused, and it refuses anything older than the version you have.

On Linux you confirm with your password and apt or rpm installs the package. On Windows you approve one UAC prompt and the installer runs in passive mode, showing only a progress bar. Then DevsPro restarts on the new version, as you.

What does it cost?

Nothing. DevsPro is free and released under the MIT license.

Do I need Docker?

Only for the modules built on it: Docker, Databases and the Data browser, plus the Cleaner's Docker tab. The Mail Catcher runs Mailpit without Docker, and sites, workers, scheduled tasks, Redis, the terminal, Files and the rest work without it too.

If Docker isn't installed, those pages offer to install it from the Apps module (on Windows you can pick the Docker Desktop version). If it's installed but not running, a Start Docker button starts it and waits until it's ready.

Set it up once. Keep it in one window.

Free for Linux and Windows. Install it once, and DevsPro keeps itself up to date from then on.