PhpDev.App
tulik/symfony-4-docker-env

tulik/symfony-4-docker-env

Stars: 118

Forks: 60

Pull Requests: 43

Issues: 9

Watchers: 8

Last Updated: 2023-05-17 18:54:08

Docker Environment for Symfony. PHP-FPM, NGINX SSL Proxy, MySQL, LEMP

License: MIT License

Languages: Smarty, PHP, Shell, Dockerfile, Mustache

Symfony 4 Docker

Minimal Runtime Environment Build Status symfony 4 docker Scrutinizer Code Quality

Table of content

  1. See it working! Deployed with Travis and Kubernetes
  2. Environment architecture
  3. Quick start
  4. Configure Xdebug
  5. Blackfire profiler
  6. Directory structure

See it working!

Deployed with Travis and Kubernetes

  • Further documentation about deployment will be provied.

Environment architecture

Now it has mocked support for MySQL databases.

Quick start

$ git clone https://github.com/tulik/symfony-4-docker-runtime-env.git
$ cd symfony-4-docker-runtime-env
$ docker-compose up

Wait for containers to start, then to http://localhost

Blackfire.io

Configure Xdebug

If you use another IDE than PHPStorm, go to the remote debugging section of Xdebug documentation.

For a better integration of Docker to PHPStorm, use the documentation.

  1. Edit docker-compose file docker-compose.yml edit/adjust the configuration as needed for XDEBUG_CONFIG AND PHP_IDE_CONFIG environment variables.

  2. If needed add a server for PHP as explained @see Add a debug server section.

Thank to @woprrr for contribution on Xdebug.

Blackfire profiler

Blackfire.io is continuous PHP Performance Testing.

Blackfire.io

Register your trial, be able to profile both in development and with a paid subscription in production too! Don't forget to get your Blackfire Companion.

Directory structure

symfony-4-docker-runtime-env
├── documentation
│   └── images
├── h2-proxy
│   └── conf.d
├── helm
│   └── symfony
│       ├── charts
│       └── templates
└── symfony
    ├── bin
    ├── config
    │   ├── packages
    │   │   ├── dev
    │   │   ├── prod
    │   │   └── test
    │   └── routes
    ├── docker
    │   ├── nginx
    │   │   └── conf.d
    │   └── php
    ├── public
    └── src
        ├── Controller
        ├── Entity
        ├── Migrations
        └── Repository
        


Copyright Note: Substantial portions of the solution was introduced by Kévin Dunglas.