PHPackages                             dockfony/dockfony - 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. dockfony/dockfony

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

dockfony/dockfony
=================

Simple Docker dev environments

5.1.0(5y ago)227MITShell

Since Oct 7Pushed 5y agoCompare

[ Source](https://github.com/dockfony/dockfony)[ Packagist](https://packagist.org/packages/dockfony/dockfony)[ RSS](/packages/dockfony-dockfony/feed)WikiDiscussions master Synced 2d ago

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

Dockfony
========

[](#dockfony)

Docker, but for Symfony

Forked
------

[](#forked)

This repository was forked from `shipping-docker/vessel` and their website can be found here .

They did fantastic work and this repository is simply a conversion to handle Symfony instead. All credit really goes to them.

Install
-------

[](#install)

Dockfony is, like Vessel, a set of files that sets up a local Docker-based dev environment per project.

It is part of the [Symfony Recipes (Contrib](https://github.com/symfony/recipes-contrib/blob/master/README.rst) system which sets up a lot of the files for you. However, you need to enable the contrib repository (see below).

This is all there is to using it:

```
composer config extra.symfony.allow-contrib true. # Optional, but recommended:

composer req --dev "dockfony/dockfony:^5.0"

./dockfony start
```

Head to `http://localhost` in your browser and see your Symfony site!

Environment Variables
---------------------

[](#environment-variables)

These environment variables are the basics required to run, or will be created by Symfony Flex if you allow third party contributors:

```
DB_DATABASE=symfony
DB_USERNAME=symfony
DB_PASSWORD=secret
REDIS_HOST=redis
REDIS_PORT=6379
```

Multiple Environments
---------------------

[](#multiple-environments)

Dockfony attempts to bind to port 80 and 3306 on your machine, so you can simply go to `http://localhost` in your browser.

However, if you run more than one instance of Dockfony, you'll get an error when starting it; Each port can only be used once. To get around this, use a different port per project by setting the `APP_PORT` and `MYSQL_PORT` environment variables in one of two ways:

Within the `.env` file:

```
APP_PORT=8080
MYSQL_PORT=33060

```

Or when starting Dockfony:

```
APP_PORT=8080 MYSQL_PORT=33060 ./dockfony start
```

Then you can view your project at `http://localhost:8080` and access your database locally from port `33060`;

Common Commands
---------------

[](#common-commands)

Here's a list of built-in helpers you can use. Any command not defined in the `dockfony` script will default to being passed to the `docker-compose` command. If not command is used, it will run `docker-compose ps` to list the running containers for this environment.

### Show Dockfony Version or Help

[](#show-dockfony-version-or-help)

```
# shows Dockfony current version
./dockfony --version # or [ -v | version ]

# shows Dockfony help
./dockfony --help # or [ -H | help ]
```

### Starting and Stopping Dockfony

[](#starting-and-stopping-dockfony)

```
# Start the environment
./dockfony start

## This is equivalent to
./dockfony up -d

# Stop the environment
./dockfony stop

## This is equivalent to
./dockfony down
```

### Development

[](#development)

```
# Use composer
./dockfony composer
./dockfony comp  # "comp" is a shortcut to "composer"

# Run phpunit tests
./dockfony test

## Example: You can pass anything you would to phpunit to this as well
./dockfony test --filter=some.phpunit.filter
./dockfony test tests/Unit/SpecificTest.php

# Run npm
./dockfony npm

## Example: install deps
./dockfony npm install

# Run yarn

./dockfony yarn

## Example: install deps
./dockfony yarn install

# Run gulp
./dockfony gulp
```

### Docker Commands

[](#docker-commands)

As mentioned, anything not recognized as a built-in command will be used as an argument for the `docker-compose` command. Here's a few handy tricks:

```
# Both will list currently running containers and their status
./dockfony
./dockfony ps

# Check log output of a container service
./dockfony logs # all container logs
./dockfony logs app # nginx | php logs
./dockfony logs mysql # mysql logs
./dockfony logs redis # redis logs

## Tail the logs to see output as it's generated
./dockfony logs -f # all logs
./dockfony logs -f app # nginx | php logs

## Tail Symfony Logs
./dockfony exec app tail -f /var/www/html/var/log/symfony.log

# Start a bash shell inside of a container
# This is just like SSH'ing into a server
# Note that changes to a container made this way will **NOT**
#   survive through stopping and starting the Dockfony environment
#   To install software or change server configuration, you'll need to
#     edit the Dockerfile and run: ./dockfony build
./dockfony exec app bash

# Example: mysqldump database "homestead" to local file system
#          We must add the password in the command line this way
#          This creates files "homestead.sql" on your local file system, not
#          inside of the container
# @link https://serversforhackers.com/c/mysql-in-dev-docker
./dockfony exec mysql mysqldump -u root -psecret symfony > symfony.sql
```

What's included?
----------------

[](#whats-included)

The aim of this project is simplicity. It includes:

- PHP 7.4
- MySQL 5.7
- Redis ([latest](https://hub.docker.com/_/redis/))
- NodeJS ([latest](https://hub.docker.com/_/node/)), with Yarn &amp; Gulp

How does this work?
-------------------

[](#how-does-this-work)

If you're unfamiliar with Docker, try out this [Docker in Development](https://serversforhackers.com/s/docker-in-development) course, which explains important topics in how this is put together.

If you want to see how this workflow was developed, check out [Shipping Docker](https://serversforhackers.com/shipping-docker) and signup for the free course module which explains building this Docker workflow.

Supported Systems
-----------------

[](#supported-systems)

Dockfony requires Docker, and currently only works on Windows, Mac and Linux.

> Windows requires running Hyper-V. Using Git Bash (MINGW64) and WSL are supported. Native Windows is still under development.

MacLinuxWindowsInstall Docker on [Mac](https://docs.docker.com/docker-for-mac/install/)Install Docker on [Debian](https://docs.docker.com/engine/installation/linux/docker-ce/debian/)Install Docker on [Windows](https://docs.docker.com/docker-for-windows/install/)Install Docker on [Ubuntu](https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/)Install Docker on [CentOS](https://docs.docker.com/engine/installation/linux/docker-ce/centos/)

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 71.4% 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 ~59 days

Recently: every ~120 days

Total

17

Last Release

2186d ago

Major Versions

1.1.3 → 2.0.02017-11-09

2.1.0 → 3.0.02017-11-16

3.2.0 → 4.0.02019-01-07

4.0.1 → 5.0.02019-08-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/b38d9c585efc9ce3576a095d5cf7346b9f7b7518f648dc960f01897f63f182fc?d=identicon)[MatthewBooth](/maintainers/MatthewBooth)

---

Top Contributors

[![fideloper](https://avatars.githubusercontent.com/u/467411?v=4)](https://github.com/fideloper "fideloper (155 commits)")[![MatthewBooth](https://avatars.githubusercontent.com/u/5381861?v=4)](https://github.com/MatthewBooth "MatthewBooth (16 commits)")[![dbpolito](https://avatars.githubusercontent.com/u/347400?v=4)](https://github.com/dbpolito "dbpolito (12 commits)")[![cringerjs](https://avatars.githubusercontent.com/u/835448?v=4)](https://github.com/cringerjs "cringerjs (6 commits)")[![gabrielboliveira](https://avatars.githubusercontent.com/u/11093090?v=4)](https://github.com/gabrielboliveira "gabrielboliveira (4 commits)")[![devdattaT](https://avatars.githubusercontent.com/u/4159622?v=4)](https://github.com/devdattaT "devdattaT (4 commits)")[![morpheus7CS](https://avatars.githubusercontent.com/u/8884582?v=4)](https://github.com/morpheus7CS "morpheus7CS (2 commits)")[![mikeerickson](https://avatars.githubusercontent.com/u/183153?v=4)](https://github.com/mikeerickson "mikeerickson (2 commits)")[![rxcod9](https://avatars.githubusercontent.com/u/14928642?v=4)](https://github.com/rxcod9 "rxcod9 (2 commits)")[![ssx](https://avatars.githubusercontent.com/u/254889?v=4)](https://github.com/ssx "ssx (2 commits)")[![ericvanjohnson](https://avatars.githubusercontent.com/u/89408?v=4)](https://github.com/ericvanjohnson "ericvanjohnson (2 commits)")[![carlos-lopez-hyve](https://avatars.githubusercontent.com/u/91889079?v=4)](https://github.com/carlos-lopez-hyve "carlos-lopez-hyve (2 commits)")[![lbausch](https://avatars.githubusercontent.com/u/5747127?v=4)](https://github.com/lbausch "lbausch (2 commits)")[![vmitchell85](https://avatars.githubusercontent.com/u/1248035?v=4)](https://github.com/vmitchell85 "vmitchell85 (1 commits)")[![bkatznelson](https://avatars.githubusercontent.com/u/31732645?v=4)](https://github.com/bkatznelson "bkatznelson (1 commits)")[![francescomalatesta](https://avatars.githubusercontent.com/u/1940952?v=4)](https://github.com/francescomalatesta "francescomalatesta (1 commits)")[![toniperic](https://avatars.githubusercontent.com/u/5714104?v=4)](https://github.com/toniperic "toniperic (1 commits)")[![trq](https://avatars.githubusercontent.com/u/32683?v=4)](https://github.com/trq "trq (1 commits)")[![ashokgelal](https://avatars.githubusercontent.com/u/401055?v=4)](https://github.com/ashokgelal "ashokgelal (1 commits)")

---

Tags

dockerdockfonysymfonyvessel

### Embed Badge

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

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

###  Alternatives

[deployer/deployer

Deployment Tool

11.0k25.4M207](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

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

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

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