{"id":19336468,"url":"https://github.com/prometee/docker-compose-web","last_synced_at":"2026-05-08T06:14:24.156Z","repository":{"id":143236272,"uuid":"127941682","full_name":"Prometee/docker-compose-web","owner":"Prometee","description":"Minimal Docker compose configuration with php-fpm + nginx + mysql + mailhog (all are alpine latest) and an optional capistrano container ","archived":false,"fork":false,"pushed_at":"2022-03-31T17:34:19.000Z","size":70,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-06T10:11:25.981Z","etag":null,"topics":["capistrano","docker-compose","mailhog","mysql","nginx","php-fpm","vhost"],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","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/Prometee.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}},"created_at":"2018-04-03T17:08:45.000Z","updated_at":"2022-02-14T16:27:49.000Z","dependencies_parsed_at":"2023-05-25T07:45:18.150Z","dependency_job_id":null,"html_url":"https://github.com/Prometee/docker-compose-web","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prometee%2Fdocker-compose-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prometee%2Fdocker-compose-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prometee%2Fdocker-compose-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prometee%2Fdocker-compose-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Prometee","download_url":"https://codeload.github.com/Prometee/docker-compose-web/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240441872,"owners_count":19801791,"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","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":["capistrano","docker-compose","mailhog","mysql","nginx","php-fpm","vhost"],"created_at":"2024-11-10T03:11:13.904Z","updated_at":"2026-05-08T06:14:19.131Z","avatar_url":"https://github.com/Prometee.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/Prometee/docker-compose-web.svg?branch=master)](https://travis-ci.org/Prometee/docker-compose-web)\n\nDocker Compose for WEB development \n==================================\n\nThis docker-compose use php-fpm, nginx (HTTP+HTTPS/2), MySQL and Mailhog.\n\n# Quick start\n\nPut this repository files in a `.docker` folder in/outside your project or put it a the root of it (default behaviour)\n \n```cmd\ncp .env.dist .env\ndocker-compose up -d --build\n```\n\n * PHP :\n    * [php://localhost:9000](php://localhost:9000) or [php://127.0.0.1:9000](php://127.0.0.1:9000)\n * Web server :\n    * [https://localhost](https://localhost) or [https://127.0.0.1](https://127.0.0.1)\n    * [http://localhost](http://localhost) or [http://127.0.0.1](http://127.0.0.1)\n * Mailhog :\n   * [http://localhost:8025](http://localhost:8025) or [http://127.0.0.1:8025](http://127.0.0.1:8025)\n   * [smtp://localhost:1025](smtp://localhost:1025) or [smtp://127.0.0.1:1025](smtp://127.0.0.1:1025)\n * MySQL :\n   * [mysql://localhost:3306](mysql://localhost:3306) or [mysql://127.0.0.1:3306](mysql://127.0.0.1:3306)\n\n# Detailed using\n\n## Initialisation\n\nPut this repository files in a `.docker` folder in/outside your project or put it a the root of it (default behaviour)\n\n## Environment vars\n\nThe first thing to do is to copy the `.env.dist` file to a `.env` file, then fill in the value you want to be changed.\n\n```cmd\ncp .env.dist .env\n```\n\nChange the values in `.env` following the instructions in it\n\n## Build containers\n\nThe build process will first build nginx and add the necessary vhost, build composer+php-fpm together building and\nadding necessary php-extensions with configurations (with specific configuration by PROJECT_TYPE)\n\n```cmd\ndocker-compose build\n```\n\n## Starting containers\nAll containers will be launch and ports will be available on loopback network\n\n```cmd\ndocker-compose up -d\n```\n\n# Configuration by `${PROJECT_TYPE}`\n\n## `\"symfony-flex\"`\n\nThis configuration has a specific php configuration and a vhost file. Plus, you can keep `/var/*` folders in the\ncontainer to avoid some performances issues on Windows for exemple. If you want to use use this environement vars :\n```cmd\nPROJECT_TYPE=symfony-flex\n# If you want to add other php extensions, uncomment the line bellow\n# multiple extensions should be seperated by a space\n# APP_PHP_EXTRA_EXTENSIONS=exif\n\n```\n\n## `\"symfony-1\"`\n\n@TODO\n\n## `\"symfony-2\"`\n\nThis configuration has a specific php configuration and a vhost file. Plus, you can keep `/app/*` folders in the\ncontainer to avoid some performances issues on Windows for example. If you want to use use this environment vars :\n```cmd\nPROJECT_TYPE=symfony-2\nNGINX_WEB_INDEX_FILE=app_dev.php\n# If you want to add other php extensions, uncomment the line bellow\n# multiple extensions should be seperated by a space\n# APP_PHP_EXTRA_EXTENSIONS=exif\n```\n\n## `\"drupal\"`\n\n@TODO\n\n## `\"wordpress\"`\n\nThis configuration has a specific php configuration and a vhost file. If you want to use use this environment vars :\n```cmd\nPROJECT_TYPE=wordpress\nNGINX_WEB_FOLDER=\n# If you want to add other php extensions, uncomment the line bellow\n# multiple extensions should be seperated by a space\n# APP_PHP_EXTRA_EXTENSIONS=exif\n```\n\n# Certificate trusted on MACOSX\n\n```bash\ndocker-compose -f ./.docker/docker-compose.yaml -f ./.docker/docker-compose.capistrano.yaml --env-file .env \\\n  cp nginx:/etc/ssl/certs/server-localhost.crt .docker/config/nginx/ssl/certs/server.crt\nsudo security add-trusted-cert -d -r trustRoot ./.docker/config/nginx/ssl/certs/server.crt\n```\n\n# Addons\n\n## Capistrano\n\nBuild it like this, your private ssh key have to in your `~/.ssh` directory (or define an other ssh\nkey directory to use) :\n\n```cmd\ndocker-compose -f ./docker-compose.capistrano.yaml build\n```\n\n**Rq:** `bundle install` is made on first `up` or every `run` if and only if a Gemfile is present at the root\nof `${PROJECT_DIR}`\n\n`up` and `exe` it (if you want to `exec` it many time this is better than only `run`) :\n\n```cmd\ndocker-compose -f ./docker-compose.capistrano.yaml up -d\ndocker-compose -f ./docker-compose.capistrano.yaml exec capistrano cap stagging deploy\n```\nor run it\n```cmd\ndocker-compose -f ./docker-compose.capistrano.yaml run capistrano cap stagging deploy\n```\n\n## NodeJS\n\n@TODO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprometee%2Fdocker-compose-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprometee%2Fdocker-compose-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprometee%2Fdocker-compose-web/lists"}