PHPackages                             yiendos/my-sites-ide - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. yiendos/my-sites-ide

ActiveProjects[DevOps &amp; Deployment](/categories/devops)

yiendos/my-sites-ide
====================

local development environment

v1.3.1(4y ago)1331[1 issues](https://github.com/yiendos/my-sites-ide/issues)MPL-2.0PHP

Since Mar 23Pushed 4d ago1 watchersCompare

[ Source](https://github.com/yiendos/my-sites-ide)[ Packagist](https://packagist.org/packages/yiendos/my-sites-ide)[ Docs](https://github.com/yiendos/my-sites-ide)[ RSS](/packages/yiendos-my-sites-ide/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (4)DependenciesVersions (9)Used By (0)

my-sites-ide
============

[](#my-sites-ide)

[![Screenshot](https://raw.githubusercontent.com/yiendos/my-sites-ide/master/screenshot.png?raw=true)](https://raw.githubusercontent.com/yiendos/my-sites-ide/master/screenshot.png?raw=true)

Welcome to my-sites-ide, contained within this project is over 8 years of experience working with Docker, condensed, distilled into one lean mean Dev-ops code base. There are many features:

- Modular - pick which services you require - Apache or Nginx or both, Mysql or Mariab or all
- Small image size, all images &lt; 200mb - Yet still contain all the php goodies you require for most PHP websites including Laravel.
- Blazingly fast build, CI, deployment of containers - Because of the small image sizes, all waiting times are reduced
- Configurable, the main .env can override the settings of all the docker containers being run

my-sites-ide gives you full control over how your sites are run, failing that you are free to modify the original Dockerfiles for total configuration-city

You can run the same images for your local environment, CI/CD/ staging/ and production environments you can be assured of perfect results everytime.

installation
------------

[](#installation)

- `git clone git@github.com:yiendos/my-sites-ide.git`
- `cd my-sites-ide`
- `cp env-example .env`
- `composer install`
- `php my-sites-ide ide:build`

Now you can access your default homepage:

-  \[nginx\]
-  \[apache\]

See available commands
----------------------

[](#see-available-commands)

`php my-sites-ide`

```
Console Tool

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display help for the given command. When no command is given display help for the list command
      --silent          Do not output any message
  -q, --quiet           Only errors are displayed. All other output is suppressed
  -V, --version         Display this application version
      --ansi|--no-ansi  Force (or disable --no-ansi) ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  completion       Dump the shell completion script
  help             Display help for a command
  list             List commands
 ide
  ide:build        Build the containers you wish
  ide:create-site  Create a new Laravel site, with my-site-ide integration
  ide:douse        Finished, until next time? Bring the containers down
  ide:restart      Cloned a new site, or made configuration changes? Restart the IDE
  ide:spark        Spark your creativity to life, by bringing the IDE up

```

For help and guidance relating to any command

`php my-sites-ide [command:subcommand] --help`

Background to modular docker containers
---------------------------------------

[](#background-to-modular-docker-containers)

In terms of running containers on the IDE you have the choice of:

- PHP-FPM
- Nginx
- Apache
- Mariadb
- MySQL
- Redis
- PHP-CLI
- PHP cron

A default list of Applications are defined in the `./env` file:

`APP="fpm,nginx,apache,mariadb,redis,cli,cron"`

And these are the default containers that will run when you invoke:

`php my-sites-ide ide:spark`

To change the default behaviour add or remove containers from the `./env` file or provide further options via the spark command:

`php my-sites-ide ide:spark --app=fpm,nginx`

Next steps
----------

[](#next-steps)

Make things more interesting by installing a Laravel site:

`php my-sites-ide ide:create-site example`

Run through the normal install steps...

This will create a new Laravel instance under `./Repos/example`

```
└── Repos
   └── example
      ├── _build
      │   └── config
      └── Projects
      └── Sites

```

Then access your brand new Laravel site:

-  \[nginx\]
-  \[apache\]

### New site configuration

[](#new-site-configuration)

You can configure how your servers respond to requests by changing the default configuration files `Repos/[example]/_build/`.

If your sites, require a common code base, these can be installed and shared via the `Packages` folder

Site specific packages can be installed under the `Repos/[example]/Projects` folder

Hosting Repositories
--------------------

[](#hosting-repositories)

my-sites-ide can handle as many github repositories or individual projects you can throw at them, however some default structure should be applied.

1. First clone any projects to the IDE under the `./Repos` folder
2. Each project should contain the following folder structure

```
 PROJECT NAME                           //name of the project/ repository
   ├── _build
   │   ├── config
   │   │   ├── 1-default-apache.conf    //provide a vhost configuration for apache (if you are using)
   │   │   └── 1-default-nginx.conf     //provide a vhost configuration for nginx (if you are using)
   └── Sites                            //where your PHP app should be hosted

```

Remember after each time you clone a repository/ create a new site to `./Repos` you should restart your IDE for these changes to take effect:

`php my-sites-ide ide:restart`

Multiple installations of my-sites-ide
--------------------------------------

[](#multiple-installations-of-my-sites-ide)

You can use my-sites-ide as many times as you like locally, because the system creates images and containers based off the `.env` NAMESPACE variable.

Therefore for different organisations/ projects you just need to provide a unique NAMESPACE variable.

Then when you build your images `php my-sites-ide ide:build` this unique NAMESPACE variable will create corresponding images.

For example: If you named one project `yiendos` via the `.env` NAMESPACE variable, images would be named `yiendos_fpm` etc

For another project: if you named this project `paul` via the `.env` NAMESPACE variable, images would be named `paul_fpm` etc

This way your projects are sandboxed.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance45

Moderate activity, may be stable

Popularity10

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~12 days

Total

6

Last Release

1815d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7617a7f16b69d824cc93b1a2bc32bd285af12d0ea06b3c5cdf0cc8cfaea5ddc6?d=identicon)[yiendos-dev](/maintainers/yiendos-dev)

---

Top Contributors

[![yiendos](https://avatars.githubusercontent.com/u/3769817?v=4)](https://github.com/yiendos "yiendos (207 commits)")[![onsidelive](https://avatars.githubusercontent.com/u/101578575?v=4)](https://github.com/onsidelive "onsidelive (12 commits)")

---

Tags

idedevopsdockerlamplempyiendosmy-sites-ide

### Embed Badge

![Health badge](/badges/yiendos-my-sites-ide/health.svg)

```
[![Health](https://phpackages.com/badges/yiendos-my-sites-ide/health.svg)](https://phpackages.com/packages/yiendos-my-sites-ide)
```

###  Alternatives

[ondram/ci-detector

Detect continuous integration environment and provide unified access to properties of current build

22249.4M33](/packages/ondram-ci-detector)[spatie/docker

Run a docker container in your PHPUnit tests

478120.2k12](/packages/spatie-docker)[ryoluo/sail-ssl

Laravel Sail plugin to enable SSL (HTTPS) connection with Nginx.

188672.6k2](/packages/ryoluo-sail-ssl)[aschmelyun/fleet

Run multiple Laravel Sail websites on your local environment

33269.5k](/packages/aschmelyun-fleet)[testcontainers/testcontainers

Testcontainers implementation in PHP

199184.7k17](/packages/testcontainers-testcontainers)[contributte/bootstrap

Extra contrib to nette/boostrap

111.5M3](/packages/contributte-bootstrap)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
