{"id":18409701,"url":"https://github.com/urnauzao/php-community","last_synced_at":"2025-10-12T03:44:16.324Z","repository":{"id":116944961,"uuid":"495238453","full_name":"urnauzao/php-community","owner":"urnauzao","description":"Este projeto com o ambiente de desenvolvimento completo utilizando Docker, Nginx, PHP, MySQL, Postgres e Redis","archived":false,"fork":false,"pushed_at":"2023-03-18T15:51:25.000Z","size":19,"stargazers_count":55,"open_issues_count":0,"forks_count":25,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-12T03:44:15.158Z","etag":null,"topics":["ambiente-de-desenvolvimento","ambiente-para-desenvolvimento","docker","docker-nginx-php-mysql-redis","docker-php-nginx","nginx","nginx-php-fpm","php","postgres","postgresql"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/urnauzao.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-05-23T02:54:02.000Z","updated_at":"2025-09-30T14:38:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"dc3e4911-3e9b-4ead-9a0f-6fa2ba4c1fb6","html_url":"https://github.com/urnauzao/php-community","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/urnauzao/php-community","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urnauzao%2Fphp-community","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urnauzao%2Fphp-community/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urnauzao%2Fphp-community/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urnauzao%2Fphp-community/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/urnauzao","download_url":"https://codeload.github.com/urnauzao/php-community/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urnauzao%2Fphp-community/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010142,"owners_count":26084692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ambiente-de-desenvolvimento","ambiente-para-desenvolvimento","docker","docker-nginx-php-mysql-redis","docker-php-nginx","nginx","nginx-php-fpm","php","postgres","postgresql"],"created_at":"2024-11-06T03:26:46.394Z","updated_at":"2025-10-12T03:44:16.278Z","avatar_url":"https://github.com/urnauzao.png","language":"Shell","readme":"# Docker + PHP + Nginx + Mysql + Postgres + Redis\nEstá imagem foi desenvolvida afim de facilitar a vida do desenvolvedor PHP, permitindo assim que de forma fácil um dev consiga executar todo o ambiente de desenvolvimento PHP. \n\n# Imagem Docker PHP com Nginx\n[Ver imagem no Docker Hub](https://hub.docker.com/r/urnau/php-community)\n\n# Ver Vídeo Passo a Passo\n[Clique aqui para acessar o vídeo tutorial no YouTube](https://youtu.be/tm4WpxBai0w)\n## Requisitos\n- Ter o Docker instalando em sua máquina. Este passo a passo funciona tanto para ambiente Linux como para Windows e macOS.\n- Caso você deseje subir uma imagem customizada para seu próprio Docker Hub é necessário então ter uma conta no [Docker Hub](https://hub.docker.com).\n\n\n## Atenção\n- Não execute os comandos de docker-compose build se este repositório estiver dentro de um subsistema Linux, como o WSL.\n\n- Caso o comando `sh` não sirva para você executar os scripts, então experimente utilizar `./script-...`.\n\n\n## 0º Passo\nClone este repositório para sua área de trabalho, pois iremos trabalhar a partir dessa estrutura de projeto.\n\n\n## 1º Passo\nVerificar se o Docker está sendo executado em sua máquina. \nCaso não esteja você deve iniciar o Docker, para isso basta basta:\n- Abrir Docker Desktop, ou em ambiente Linux:\n\u003e sudo service docker start\n\n\n## 2º Passo\nSe você não for fazer `build` de uma nova imagem PHP + Nginx, então você pode pular para o `8º Passo`\nCaso vá customizar sua imagem Docker, então acesse o arquivo [Dockerfile](./Dockerfile) e realize as alterações desejadas.\n\n\n## 3º Passo\nDepois de feiras as alteraçãoes agora vamos contruir a imagem. Para isso execute:\n\u003e docker-compose build web\n\nOu você pode executar diretamente o script:\n\u003e sh script-build-docker-compose.sh\n\n\n## 4º Passo\nCom a imagem criada corretamente, você agora pode fazer um teste de execução.\n\u003e docker run web\n\n\n## 5º Passo\nSe o teste de execução der certo, então é hora testarmos subir todo o ambiente do Docker Compose.\nPara isso vamos executar agora\n\u003e docker-compose up -d\n\nOu você pode executar diretamente o script:\n\u003e sh script-start-docker-compose.sh\n\nQuando quiser `parar` a execução desse ambiente execute:\n\u003e sh script-drop-docker-compose.sh\n\n\n## 6º Passo\nEstando tudo ok, agora é hora de subirmos a imagem para o Dockerhub, assim ela fica disponível para ser acessada em diversos ambientes.\nÉ importante no `docker-compose.yml` ser alterado o nome da imagem para o de seu repositório.\nEstando pronto, execute:\n\u003e sh script-push-docker-compose.sh\n\n## 7º Passo\nDevemos ir ao Docker Hub e verificar se nossa imagem já está corretamente em nosso repositório.\n\n## 8º Passo\nAgora é hora de ajustarmos nossas aplicações dentro do ambiente.\n\nPara isso iremos usar a pasta `applications`, nela devemos salvar colocar cada projeto PHP, e é importante que cada projeto PHP tenha uma pasta `public`, pois é nestá pasta public que o Nginx irá consultar o index.php.\n\nAssim, você pode clonar um projeto já existente dentro de `applications`, ou pode usar o script abaixo para gerar uma aplicação Laravel do zero. Certifique-se de ter o Composer e o PHP instalado em sua máquina para executar.\n\u003e sh script-new-project-laravel.sh\n\n\u003cb\u003eOBS:\u003c/b\u003e Para ajustar variaveis de conexão de banco de dados na sua aplicação veja exemplo: [index.php](./applications/php1/public/index.php).\n\n\n## 9º Passo\nAgora é hora de configurar o Nginx para que ele consiga encontrar suas aplicações.\nPara isso execute:\n\u003e sh script-generate_sites.sh\n\nAo executar esse script, você deverá informar qual o nome da pasta de sua aplicação em `applications`. E também deverá informar uma porta que não esteja sendo utilizada no sistema. Recomendamos utilizar as portas entre 8080 e 8089.\n\n## 10º Passo\nCom todas essas configurações feitas, agora é hora de colocar a aplicação em execução.\n\u003e sh script-start-docker-compose.sh\n\n\nExemplo para acessar sua aplicação:\nhttp://localhost:8080\n\n## 11º Passo\nPara derrubar a aplicação execute:\n\u003e sh script-drop-docker-compose.sh\n\n## 12º Passo\nCaso use Windows o macOS, agora é só mover todo o ambiente configurado aqui para dentro do WSL.\n\n## Outras informações\n- Caso precise remover as configuções de sites do Nginx, acesse a pasta docker/nginx/sites e lá encontre e remova as configurações `.conf` que desejar.\n\n- Caso precise derrubar um container\n\u003e sh script-drop-container.sh\n\n\n- Caso precise visualizar quais containers estão em execução\n\u003e sh script-docker-running.sh\n\n\n- Caso precise entrar em um container\n\u003e sh script-access-container.sh","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furnauzao%2Fphp-community","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Furnauzao%2Fphp-community","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furnauzao%2Fphp-community/lists"}