PHPackages                             rafapaulino/docker-php - 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. rafapaulino/docker-php

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

rafapaulino/docker-php
======================

Um ambiente Docker personalizável para PHP, MySQL/PostgreSQL, Redis e Mailpit, similar ao Laravel Sail.

0.0.1(3mo ago)00MITPHP

Since Mar 17Pushed 3mo agoCompare

[ Source](https://github.com/rafapaulino/Docker-PHP)[ Packagist](https://packagist.org/packages/rafapaulino/docker-php)[ RSS](/packages/rafapaulino-docker-php/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Ambiente Docker PHP
===================

[](#ambiente-docker-php)

Um ambiente Docker personalizável para desenvolvimento PHP, inspirado no Laravel Sail. Este pacote permite que você configure rapidamente um ambiente de desenvolvimento local com diferentes versões de PHP, bancos de dados (MySQL/PostgreSQL), Redis e Mailpit.

Funcionalidades
---------------

[](#funcionalidades)

- **Seleção de Versão PHP**: Suporte para múltiplas versões de PHP (atualmente 7.3, 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5). Pré-configurado com as principais extensões de otimização exigidas pelo Laravel e WordPress (`pdo`, `mbstring`, `intl`, `opcache`, `mysqli`, e outras).
- **Servidor Web**: Pré-configurado com **Nginx** como proxy reverso roteando requisições HTTP para contêineres rodando **PHP-FPM**, aumentando a segurança e robustez do ambiente.
- **Bancos de Dados**: Escolha entre MySQL e PostgreSQL.
- **Cache/Fila**: Integração com Redis.
- **Email Local**: Servidor de e-mail local com interface web (Mailpit).
- **CLI Simples**: Um script `bin/docker-php` para gerenciar seu ambiente Docker facilmente.
- **Instalação via Composer**: Integre o ambiente Docker ao seu projeto PHP com um simples comando Composer.

Instalação
----------

[](#instalação)

1. **Crie seu projeto PHP** (se ainda não tiver um):

    ```
    composer create-project laravel/laravel my-app
    cd my-app
    ```

    (Ou use qualquer outro projeto PHP)
2. **Adicione o pacote `rafapaulino/docker-php` ao seu projeto**:

    ```
    composer require rafapaulino/docker-php --dev
    ```
3. **Publique os arquivos Docker**:

    Após a instalação via Composer, execute o comando para publicar os arquivos Docker no seu projeto. Você pode especificar os serviços que deseja incluir:

    ```
    ./vendor/bin/docker-php-install --with=nginx,mysql,redis,mailpit
    ```

    Serviços disponíveis: `nginx`, `mysql`, `pgsql`, `redis`, `mailpit`. Por padrão, `nginx,mysql,redis,mailpit` são instalados se nenhum `--with` for especificado.

    Este comando criará:

    - Um diretório `docker/` com os Dockerfiles para as versões PHP suportadas.
    - Um arquivo `docker-compose.yml` na raiz do seu projeto.
    - Um script `bin/docker-php` na raiz do seu projeto (certifique-se de que `bin/` esteja no seu `.gitignore`).

Uso
---

[](#uso)

O script `bin/docker-php` atua como um wrapper para o `docker compose` e permite interagir com seu ambiente Docker. Certifique-se de que o Docker esteja em execução antes de usar.

### Comandos Comuns

[](#comandos-comuns)

- **Iniciar o ambiente**: Inicia todos os serviços definidos no `docker-compose.yml` em segundo plano.

    ```
    ./bin/docker-php up
    ```
- **Parar o ambiente**: Para todos os serviços.

    ```
    ./bin/docker-php stop
    ```
- **Desligar e remover o ambiente**: Para e remove todos os contêineres, redes e volumes (exceto volumes de dados persistentes).

    ```
    ./bin/docker-php down
    ```
- **Executar um comando no contêiner PHP**: Abre um shell bash no contêiner `app`.

    ```
    ./bin/docker-php shell
    ```
- **Executar Composer**: Executa comandos Composer dentro do contêiner `app`.

    ```
    ./bin/docker-php composer install
    ./bin/docker-php composer update
    ```
- **Executar Artisan (para Laravel)**: Executa comandos Artisan dentro do contêiner `app`.

    ```
    ./bin/docker-php artisan migrate
    ./bin/docker-php artisan test
    ```
- **Executar PHPUnit**: Executa testes PHPUnit dentro do contêiner `app`.

    ```
    ./bin/docker-php test
    ```
- **Outros comandos Docker Compose**: Você pode passar qualquer comando `docker compose` diretamente:

    ```
    ./bin/docker-php ps
    ./bin/docker-php logs -f
    ```

Configuração
------------

[](#configuração)

### Versão do PHP

[](#versão-do-php)

Você pode definir a versão do PHP usando a variável de ambiente `PHP_VERSION` no seu arquivo `.env` (ou diretamente no `docker-compose.yml`). Por exemplo:

```
PHP_VERSION=8.2
```

Os Dockerfiles para as versões suportadas estão localizados em `docker/php-fpm-{version}/Dockerfile`.

### Serviços

[](#serviços)

Os serviços são configurados no `docker-compose.yml`. Você pode adicionar ou remover serviços editando este arquivo ou executando o comando `docker-php:install` novamente com diferentes opções `--with`.

- **MySQL/PostgreSQL**: As credenciais do banco de dados podem ser configuradas via variáveis de ambiente no seu `.env` (ex: `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD`, `FORWARD_DB_PORT`).
- **Redis**: A porta do Redis pode ser configurada via `FORWARD_REDIS_PORT`.
- **Mailpit**: As portas do Mailpit podem ser configuradas via `FORWARD_MAILPIT_PORT` e `FORWARD_MAILPIT_DASHBOARD_PORT`.

Adicionando Novas Versões PHP
-----------------------------

[](#adicionando-novas-versões-php)

Para adicionar suporte a uma nova versão do PHP:

1. Crie um novo Dockerfile em `stubs/php{version}.Dockerfile.stub` dentro do pacote `manus/docker-php` (ou diretamente em `docker/php-fpm-{version}/Dockerfile` no seu projeto após a publicação).
2. Atualize o comando `InstallCommand.php` para incluir a nova versão na lista `$phpVersions`.

Contribuição
------------

[](#contribuição)

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests no repositório do projeto.

Licença
-------

[](#licença)

Este projeto é licenciado sob a Licença MIT. Veja o arquivo `LICENSE.md` para mais detalhes.

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance82

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 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

Unknown

Total

1

Last Release

97d ago

### Community

Maintainers

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

---

Top Contributors

[![rafapaulino](https://avatars.githubusercontent.com/u/2836259?v=4)](https://github.com/rafapaulino "rafapaulino (2 commits)")

### Embed Badge

![Health badge](/badges/rafapaulino-docker-php/health.svg)

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

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

101466.4k45](/packages/friendsoftypo3-content-blocks)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[api-platform/openapi

Models to build and serialize an OpenAPI specification.

374.2M77](/packages/api-platform-openapi)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M514](/packages/shopware-core)[shopware/deployment-helper

Shopware deployment tools

19365.5k5](/packages/shopware-deployment-helper)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9317.2k55](/packages/open-dxp-opendxp)

PHPackages © 2026

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