PHPackages                             rasodu/services - 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. rasodu/services

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

rasodu/services
===============

Quick server for Laravel

0.11.0(9y ago)279[9 issues](https://github.com/rasodu/services/issues)MITMakefile

Since Oct 1Pushed 9y ago1 watchersCompare

[ Source](https://github.com/rasodu/services)[ Packagist](https://packagist.org/packages/rasodu/services)[ Docs](https://github.com/rasodu/services)[ RSS](/packages/rasodu-services/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (17)Used By (0)

[![Build Status](https://camo.githubusercontent.com/bc20371f95d0298b8dc8a62539e96144a757bc7e90997a46152ab1343ff3210d/68747470733a2f2f7472617669732d63692e6f72672f7261736f64752f73657276696365732e737667)](https://travis-ci.org/rasodu/services)

DLEMPFast
=========

[](#dlempfast)

Start DLEMP server with prebuilt docker images. This is much faster than building images from dockerfiles.

What are goals of this project?
-------------------------------

[](#what-are-goals-of-this-project)

1. Provide disposable PHP development environment.

- Provide isolated PHP development environment for each of your projects.
- Allow developers to manage and version control PHP environment on per project basis.(Developers can easily install additional PHP extensions)
- Provide quick way to run PHP project in single server production setup and clear path to scale app in production.

Which version of PHP do you support?
------------------------------------

[](#which-version-of-php-do-you-support)

We support PHP 5.6 and 7.0

How do I install this?
----------------------

[](#how-do-i-install-this)

- If you don't have an existing project, then create a new project
    1. `docker-machine ssh default` (Only if you are not on Linux machine)

    - `cd `
    - `docker run --rm -it --user=$(id -u):$(id -g) -v $(pwd):/usr/share/nginx/WEBAPP rasodu/cmdlaravel:7.0.1 /bin/bash`
    - `laravel new [new-project-dir]` or `composer create-project laravel/laravel=5.1. `
- Add DLEMPFast to your project
    1. `docker run --rm -it --user=$(id -u):$(id -g) -v $(pwd):/usr/share/nginx/WEBAPP rasodu/cmdlaravel:7.0.1 /bin/bash`

    - `composer require rasodu/services:dev-master`
    - `mkdir public` If it doesn't exist
    - `mkdir -p services/docker-config`
    - Copy `.dockerignore` file form `rasodu/DLEMP` to your project's root folder
    - In you project's '.env'(and also to '.env.example' if it exist) file create following variables list : ```
        COMPOSE_PROJECT_NAME=

        DLEMPFAST_CONTEXT=../../../../../

        DLEMPFAST_BASE_DIR=vendor/rasodu/services/

        DLEMPFAST_CONFIG_DIR=vendor/rasodu/services/

        DLEMPFAST_PROJECT_DIR=

        DLEMPFAST_RASODU_MYSQL_VERSION=5.6.28

        DLEMPFAST_RASODU_PHPFPMLARAVEL_VERSION=7.0
        DLEMPFAST_RASODU_PHPFPMLARAVEL_CONFIG_DIR=vendor/rasodu/services/
        DLEMPFAST_RASODU_PHPFPMLARAVEL_DOCKERFILE_DIR=vendor/rasodu/services/

        COMPOSE_FILE=vendor/rasodu/services/services/composefile/phpfpmlaravel/c.yml;vendor/rasodu/services/services/composefile/phpfpmlaravel/c.override.yml;vendor/rasodu/services/services/composefile/httpbackendlaravelnginx/c.yml;vendor/rasodu/services/services/composefile/httpbackendlaravelnginx/c.override.yml;vendor/rasodu/services/services/composefile/loadbalancernginx/c.yml

        ```
    - `chmod 777 -R bootstrap/cache/ && chmod 777 -R storage/`
    - Try to start server with `docker-compose up -d` command
    - Once server starts successfully, commit changed files to your project.
- Optional installation steps
    1. Add `/public/phpunit-coverage` and `/public/app-documentation` to your project's '.gitignore' : If you will be generating phpunit code coverage.

    - If you want to use browser sync, then add following code to 'gulpfile.js'. ```
            mix.browserSync({
                proxy: 'https://https',
                port: 3002,
                ui: {
                    port: 3001
                }
            });
        ```
    - `cp "vendor/rasodu/services/com/rasodu/zz-other-references/makefiles/Makefile-Laravel" Makefile` and configure Makefile settings for your project : If you want Makefile for your project.
    - `mkdir -p com/rasodu/phpfpmlaravel/customization && cp -a vendor/rasodu/services/com/rasodu/phpfpmlaravel/customization/. com/rasodu/phpfpmlaravel/customization/` : If you want to set custom config.
    - Add 'APP\_LOG=errorlog' to .env and .env-example

How do I start development server?
----------------------------------

[](#how-do-i-start-development-server)

- `docker-compose up -d` : start development server
- `docker-compose stop` : stop development server
- `docker-compose down --rmi local -v` : remove containers, networks, local images and volumes

How do I enter cmd container?
-----------------------------

[](#how-do-i-enter-cmd-container)

- `docker exec -it --user=$(id -u):$(id -g) _cmd_1 /bin/bash`

How do I customize nginx settings?
----------------------------------

[](#how-do-i-customize-nginx-settings)

How do I customize PHP settings?
--------------------------------

[](#how-do-i-customize-php-settings)

How do I install additional PHP extensions?
-------------------------------------------

[](#how-do-i-install-additional-php-extensions)

How do I use FakeS3 during development?
---------------------------------------

[](#how-do-i-use-fakes3-during-development)

How do I use Xdebug?
--------------------

[](#how-do-i-use-xdebug)

- Server
    1. Server is already configure for Xdebug. No further configuration is needed.
- Host
    1. Web browser
        1. Install Chrome.

        - Install Xdebug helper extensions in Chrome.

    - IDE(We will assume that you are using Eclipse PDT - [https://wiki.eclipse.org/Debugging\_using\_XDebug](https://wiki.eclipse.org/Debugging_using_XDebug))
        1. Global Eclipse PDT settings
            1. Eclipse PDT has built in support for Xdebug. No additional plugin need to be installed.

            - Add server
                - Windows-&gt;Preferences-&gt;PHP-&gt;Servers-&gt;New
                    - Server
                        - Server Name: &lt;project-name&gt;
                        - Base URL:
                        - Document Root: &lt;project-folder-root-on-host&gt;
                    - Debugger
                        - Debugger: XDebug
                        - Port: 9000
                    - Path Mapping
                        - Path on server: /usr/share/nginx/WEBAPP
                        - Local path(Path in File System): &lt;path-to-project-folder&gt;

        - Project specific Eclipse PDT settings
            1. Set PHP Interpreter
                - Project-&gt;Properties-&gt;PHP-&gt;Interpreter
                    - Check: Enable project specific settings
                    - PHP Version: &lt;select-correct-version-of-php&gt;

            - Select server for project
                - Project-&gt;Properties-&gt;PHP-&gt;Debug
                    - Check: Enable project specific settings
                    - Server Settings
                        - PHP Server: &lt;select-php-server&gt;
                    - Encoding Settings
                        - Debug Transfer Encoding: UTF-8
                        - Debug Output Encoding: UTF-8
                    - Default Base URL
                        - Base Path: /
                        - Auto-generated Base URL:
                    - Uncheck: Break at First Line

How do I generate phpunit code coverage?
----------------------------------------

[](#how-do-i-generate-phpunit-code-coverage)

Does this project support Laravel Broadcasting Events?
------------------------------------------------------

[](#does-this-project-support-laravel-broadcasting-events)

Does this project support Laravel Queue?
----------------------------------------

[](#does-this-project-support-laravel-queue)

How do I start production server?
---------------------------------

[](#how-do-i-start-production-server)

- `docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d` : to start services on production server
- `docker-compose -f docker-compose.yml -f docker-compose.prod.yml build [service-name]` : to build all services or to rebuild single service
- `docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d --no-deps ` : to start single service
- *Note*: Not all services available during development are available in production. 's3mock' and 'cmd' will not be created during production. You should use S3 during production.

Which optimization should you perform on your production Laravel website?
-------------------------------------------------------------------------

[](#which-optimization-should-you-perform-on-your-production-laravel-website)

```
composer install --no-dev
composer dump-autoload --optimize
in .env file 'APP_ENV=production' and 'APP_DEBUG=false'
php artisan optimize --force
php artisan route:cache
php artisan config:cache

```

How do I get SSL certificate for production server?
---------------------------------------------------

[](#how-do-i-get-ssl-certificate-for-production-server)

```
docker-machine ssh
docker run --rm -it -v _etc-letsencrypt:/etc/letsencrypt -v _acme-challenge:/DLEMP/letsencrypt/public/.well-known/acme-challenge _letsencrypt /bin/bash
/DLEMP/letsencrypt/bin/letsencrypt-auto --version
/DLEMP/letsencrypt/bin/letsencrypt-auto certonly --agree-tos
ln -sf /etc/letsencrypt/live//privkey.pem /etc/letsencrypt/privkey.pem
ln -sf /etc/letsencrypt/live//fullchain.pem /etc/letsencrypt/fullchain.pem
exit
exit
docker-compose -f docker-compose.yml -f docker-compose.prod.yml restart nginxhttps

```

How do I scale my app in production?
------------------------------------

[](#how-do-i-scale-my-app-in-production)

How do I run my app in AWS ECS cluster?
---------------------------------------

[](#how-do-i-run-my-app-in-aws-ecs-cluster)

- Required tools
    - Common
        1. Docker Toolbox
    - Environment specific
        - AWS
            1. AWS CLI
        - Kubernetes
            1. kubectl

            - kompose
            - Kubernetes cluster(An ECS cluster(ECS CLI) : All instance in the cluster should have AmazonEC2ContainerServiceforEC2Role policy)
- Create final combined compose file(Only if you are using kubernetes cluster)
    1. `docker-compose config > compose-combined.yml`

    - Change version number from '2.0' to '2' in compose-combined.yml
- Push images to repository
    - AWS EC2 Container Registry
        1. `$(aws ecr get-login)`

        - `docker-compose build`
        - `docker push :` //Push all custom images for the project: docker images | grep -i &lt;COMPOSE\_PROJECT\_NAME&gt;
        - docker logout
    - Google Container Registry
        1. &lt;Needs intructions&gt;
- Create cluster
    - AWS Elastic Beanstalk
        1. Create AWS Elastic Beanstalk with Multicontainer Docker Environment with Load Balancer

        - Add policy `AmazonEC2ContainerServiceforEC2Role` in `aws-elasticbeanstalk-ec2-role` role //this will allow EC2 instances to access EC2 Container Registry
        - Create app specific `Dockerrun.aws.json`
    - Create Google Container Cluster
        1. &lt;Needs intructions&gt;
- Run containers
    - AWS Elastic Beanstalk
        1. Lod your app specific `Dockerrun.aws.json` in your Elastic Beanstalk Environment
    - Kubernets cluster(These instructions need improvement.)
        1. Build images: `eval $(minikube docker-env)` and `docker-compose build`

        - `kompose -f compose-combined.yml up`
        - `kubectl get deployments,rs,pods,services`
        - `kubectl expose deployment  --type=LoadBalancer --port= [--target-port=]`
        - `kubectl edit svc/docker-registry `
        - Check service is running : `curl http://$(minikube ip):32599/`

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~14 days

Recently: every ~21 days

Total

15

Last Release

3356d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/67456b067aa45e0407e0aaee593672f61a8b73d4e92e1a671f278832b89f50b4?d=identicon)[rasodu](/maintainers/rasodu)

---

Top Contributors

[![rasodu](https://avatars.githubusercontent.com/u/13222196?v=4)](https://github.com/rasodu "rasodu (119 commits)")

### Embed Badge

![Health badge](/badges/rasodu-services/health.svg)

```
[![Health](https://phpackages.com/badges/rasodu-services/health.svg)](https://phpackages.com/packages/rasodu-services)
```

###  Alternatives

[in2code/in2publish_core

Content publishing extension to connect stage and production server

40143.4k](/packages/in2code-in2publish-core)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4678.9k](/packages/tiamo-phpas2)[wapmorgan/php-rpm-packager

RPM packager for PHP applications.

116.5k](/packages/wapmorgan-php-rpm-packager)

PHPackages © 2026

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