Sign inSign up

kitpages/symfony

By kitpages

•Updated over 5 years ago

[DEPRECATED] use kibatic/symfony

Image
0

2.1K

kitpages/symfony repository overview

symfony-docker

⁠Symfony + Nginx + php-fpm

Build Status

Docker for Symfony application, powered by Nginx and php-fpm.

Based on Debian Jessie.

If you are experiencing some issues, take a look at TROUBLESHOOTING⁠

Image tags follows PHP versions

latest 8 8.0 (8.0/Dockerfile)⁠

7 7.4 (7.4/Dockerfile)⁠

7.3 (7.3/Dockerfile)⁠

7.2 (7.2/Dockerfile)⁠

7.1 Not maintained, END OF LIFE

7.0 Not maintained, END OF LIFE

5, 5.6 Not maintained, END OF LIFE

5.4 Not maintained, END OF LIFE

⁠Compatibility matrix
Symfony
Image2.x3.x4.x5.x
7.4:x::x::heavy_check_mark: (not tested):heavy_check_mark: (default)
7.4:x::x::heavy_check_mark::heavy_check_mark: (default)
7.3:heavy_check_mark: (not tested):heavy_check_mark: (not tested):heavy_check_mark: (default):heavy_check_mark: (not tested)
7.2:heavy_check_mark: (not tested):heavy_check_mark::heavy_check_mark::heavy_check_mark: (not tested)
7.1:heavy_check_mark: (not tested):heavy_check_mark::heavy_check_mark::x:
7.0:heavy_check_mark: (not tested):heavy_check_mark: (not tested):x::x:
5.6:heavy_check_mark: (not tested):heavy_check_mark: (not tested):x::x:

Composer versions :

  • 8.0 : 2.x
  • 7.4 : 2.x
  • 7.3 : 1.10.17
  • 7.2 : 1.10.17
⁠Usage
docker pull kibatic/symfony

Then run in your symfony folder

# Image >= 7.3 & Symfony 2.x, 3.x
docker run -e SYMFONY_VERSION=3 -v $(pwd):/var/www -p 8080:80 kibatic/symfony:7.3

# Image >= 7.3 & Symfony 4.x
docker run -v $(pwd):/var/www -p 8080:80 kibatic/symfony:7.3

# Image < 7.3 & Symfony 2.x, 3.x
docker run -v $(pwd):/var/www -p 8080:80 kibatic/symfony:7.2

# Image < 7.3 & Symfony 4.x
docker run -e SYMFONY_VERSION=4 -v $(pwd):/var/www -p 8080:80 kibatic/symfony:7.2

Symfony app will be accessible on http://localhost:8080/⁠

⁠Custom nginx configuration

If you want to replace the default nginx settings, overwrite configuration file at /etc/nginx/sites-enabled/default.

COPY nginx.conf /etc/nginx/sites-enabled/default

You may also want to add only some directives in existing site config⁠.

COPY custom-config.conf /etc/nginx/conf.d/docker/custom-config.conf
⁠Logging (PHP >= 7.3)

For both production and dev environment you should log to stdout / stderr, example below.

# config/packages/monolog.yaml
monolog:
    handlers:
        stdout:
            type: stream
            path: 'php://stdout'
            level: debug
            channels: ['!event']
            # (Optional) format logs to json
            #formatter: monolog.formatter.json
        stderr:
            type: stream
            path: 'php://stderr'
            level: error
            # (Optional) format logs to json
            #formatter: monolog.formatter.json
⁠Logging (PHP < 7.3)

A common practice is to log to stdout, but there are major bug in php-fpm wich makes stdout logging not reliable :

This image setup a known workaround (see here⁠) and expose a log stream as env var LOG_STREAM, but you cannot log to stdout For a proper logging you have to configure monolog to log to this stream

# app/config_dev.yml
monolog:
    handlers:
        main:
            type:   stream
            path:   '/tmp/stdout'
            level:  debug

You can also use symfony %env(LOG_STREAM)% if your symfony version is compatible with this syntax⁠

We also provide a default dirty solution for standard monolog configuration, this is not recommended in production

tail -q -n 0 -F app/logs/dev.log app/logs/prod.log var/logs/dev.log var/logs/prod.log
⁠Minimal package included
  • nginx
  • php*-fpm
  • php*-cli
  • php*-intl
  • php*-mbstring
⁠Exposed port
  • 80 : nginx

Tag summary

Content type

Image

Digest

Size

113.1 MB

Last updated

over 5 years ago

docker pull kitpages/symfony