Skip to content
jaayala03Public

About

Desktop app to create, clone and manage DDEV projects on Linux (Python + GTK). English and Spanish.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Stackyard

Stackyard

Your local web development environment on Linux, from one window.
Create, clone and manage PHP, Laravel, WordPress and other projects — powered by DDEV.

Leer en español · Formerly Panel DDEV


Coming from Laragon on Windows? This is the closest thing on Linux: every project gets its own domain (https://my-app.local), its own PHP and Node version, Apache or nginx, MariaDB/MySQL/PostgreSQL, phpMyAdmin, Mailpit and built-in git. Free and open source. Available in English and Spanish, with light and dark themes.

Project page

Git tab Code tab
Git: stage, diff, commit, push Built-in code editor

Install

On Linux Mint 22 / Ubuntu 24.04 (or other Ubuntu/Debian derivatives), open a terminal and run:

curl -fsSL https://raw.githubusercontent.com/jaayala03/stackyard/main/install.sh | bash

The installer sets up Docker, DDEV, local HTTPS certificates (mkcert) and Stackyard. It asks for your sudo password.

When it finishes:

  1. Log out and back in (to use Docker without sudo).
  2. Restart your browser (so it trusts the local HTTPS certificates).
  3. Open Stackyard from the applications menu.
Manual install (package only)

If you already have Docker and DDEV, download the .deb from the latest release and install it:

sudo apt install ./stackyard_*_all.deb
From source
git clone https://github.com/jaayala03/stackyard.git
cd stackyard
./bin/stackyard            # run without installing
./install.sh --local        # or build and install the package

Uninstall

sudo apt remove stackyard

(Docker, DDEV and your projects are left untouched.)

Features

  • Projects: list with status; start, stop, restart, stop all; open in the browser, the folder or your editor.
  • Tray icon: start/stop projects and open their sites without the window; optional start at login.
  • New project: type (PHP, Laravel, WordPress, Symfony, Drupal, CodeIgniter, CakePHP, Craft CMS, Magento), PHP and Node version, Apache or nginx, database. It can download the framework for you.
  • Clone with git: paste a URL or pick one of your GitHub repositories (search included); choose the branch; configures DDEV, starts the project and installs dependencies (composer install, npm install, .env and APP_KEY for Laravel).
  • Node.js projects (Express, Fastify, Koa… backends and Vite frontends, also monorepos with backend/ and frontend/): detected automatically and run as DDEV services with their own URLs, dependencies installed (and native modules rebuilt) inside the container, .env files created with the DDEV URLs and generated secrets, Vite allowed on the local domain with hot reload, Chromium for Puppeteer. No Node needed on your computer.
  • Deploy with pm2: a Deploy tab for projects with an ecosystem file (any extension): deploy, roll back, reload, status and live logs on the server.
  • HTTP or HTTPS per project.
  • Add folder: use code you already have; the framework and public folder are detected automatically.
  • Xdebug on/off with a switch.
  • Share a project with a temporary public link (Cloudflare quick tunnel).
  • .env editor for every .env of the project (also in sub-folders), with highlighting, backup and "create from .env.example".
  • Change settings of an existing project (including MariaDB ↔ MySQL migration).
  • Vite: one click to make npm run dev and hot reload work through DDEV.
  • Quick commands: framework shortcuts (artisan, wp-cli, drush…), your package.json scripts and your own saved commands per project.
  • Tools: shell inside the container, live logs, phpMyAdmin, Mailpit, database import/export and snapshots (save and restore copies of the database).
  • Code editor: file explorer (create, rename, copy, cut, paste, duplicate, trash), tabs, syntax highlighting, find/replace and Ctrl+P quick open.
  • Git: changes with checkboxes to stage them, coloured diffs, history, commit (Ctrl+Enter), branches, fetch, pull (fast-forward, merge or rebase) and push, discard changes, stash, and conflict resolution (ours / theirs).
  • Resource usage (CPU and RAM per project) and optional auto-stop of idle projects to save memory.
  • Notifications when long actions finish, even with the window hidden.
  • Preferences: English or Spanish, light, dark or system theme, notifications.
  • Update notice when a new version is published, with one-click update.

Every action runs in an embedded terminal: you see exactly which commands run, and if something asks for a password you type it right there.

Requirements

  • Linux with apt (tested on Linux Mint 22.3 and Ubuntu 24.04).
  • 4 GB of RAM minimum (8 GB recommended).
  • Internet connection the first time (Docker images, ~3 GB).

For developers

File Purpose
bin/stackyard Launcher
stackyard/app.py Main window and application
stackyard/ddev.py Talks to ddev and builds the script of each action
stackyard/dialogs.py New / clone / settings and preferences dialogs
stackyard/git.py Git tab
stackyard/updates.py Update check (GitHub releases)
stackyard/editor.py Code tab: file explorer and editor
stackyard/tray.py Tray icon
stackyard/resources.py Resource usage and idle detection
stackyard/notify.py Desktop notifications
stackyard/share.py Share a project (ddev share)
stackyard/envedit.py .env editor
stackyard/snapshots.py Database snapshots dialog
stackyard/pm2.py pm2 ecosystem reader and deploy commands
stackyard/deploy.py Deploy tab
stackyard/nodeproj.py Node.js project detection and DDEV services setup
stackyard/vite.py Vite dev server setup for DDEV
stackyard/commands.py Quick commands per framework, npm scripts and saved commands
stackyard/github.py GitHub repository picker (uses gh)
stackyard/terminal.py Embedded terminal (VTE)
stackyard/i18n.py, locale_es.py Translations
stackyard/settings.py Preferences and theme
packaging/build-deb.sh Builds the .deb into dist/
packaging/check_translations.py Fails if a UI string has no translation
packaging/test_scripts.py Smoke tests for the generated bash scripts
packaging/ci/smoke-test.sh Installs the .deb on a clean Ubuntu and starts the app (CI)
packaging/release.sh Publishes a GitHub release with the .deb
install.sh Full installer

Built with Python 3 and GTK 3 (PyGObject). Code, comments and commits are in English. UI strings are written in English and wrapped in _(); add the Spanish text to stackyard/locale_es.py.

To publish a release: bump __version__ in stackyard/__init__.py, add the entry to CHANGELOG.md, commit and push, then run packaging/release.sh (builds the .deb, tags the version and creates the GitHub release with the changelog notes).

License and terms

  • Code under the MIT license.
  • Terms of use and privacy: no warranty; the app collects no data.
  • Stackyard is an independent project, not affiliated with the DDEV project or Docker. Their names are trademarks of their owners.

About

Desktop app to create, clone and manage DDEV projects on Linux (Python + GTK). English and Spanish.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages