2018-08-23 15:36:55 +02:00
# Symfony Docker
2023-09-20 16:53:05 +02:00
A [Docker ](https://www.docker.com/ )-based installer and runtime for the [Symfony ](https://symfony.com ) web framework,
with [FrankenPHP ](https://frankenphp.dev ) and [Caddy ](https://caddyserver.com/ ) inside!
2018-08-23 15:36:55 +02:00
2020-10-14 22:44:46 +02:00

2018-08-23 15:36:55 +02:00
## Getting Started
2022-10-17 11:17:15 +02:00
1. If not already done, [install Docker Compose ](https://docs.docker.com/compose/install/ ) (v2.10+)
2023-07-31 14:21:06 +02:00
2. Run `docker compose build --no-cache` to build fresh images
2024-04-27 19:28:17 +02:00
3. Run `docker compose up --pull always -d --wait` to set up and start a fresh Symfony project
2021-06-17 17:02:46 +02:00
4. Open `https://localhost` in your favorite web browser and [accept the auto-generated TLS certificate ](https://stackoverflow.com/a/15076602/1352334 )
2022-07-28 19:01:17 +02:00
5. Run `docker compose down --remove-orphans` to stop the Docker containers.
2018-08-23 15:36:55 +02:00
2020-10-19 15:30:43 +02:00
## Features
* Production, development and CI ready
2023-09-20 16:53:05 +02:00
* Just 1 service by default
* Blazing-fast performance thanks to [the worker mode of FrankenPHP ](https://github.com/dunglas/frankenphp/blob/main/docs/worker.md ) (automatically enabled in prod mode)
2022-08-04 15:32:22 +02:00
* [Installation of extra Docker Compose services ](docs/extra-services.md ) with Symfony Flex
2023-09-20 16:53:05 +02:00
* Automatic HTTPS (in dev and prod)
* HTTP/3 and [Early Hints ](https://symfony.com/blog/new-in-symfony-6-3-early-hints ) support
* Real-time messaging thanks to a built-in [Mercure hub ](https://symfony.com/doc/current/mercure.html )
2020-12-02 00:29:12 +01:00
* [Vulcain ](https://vulcain.rocks ) support
2022-08-04 15:30:39 +02:00
* Native [XDebug ](docs/xdebug.md ) integration
2020-10-19 15:30:43 +02:00
* Super-readable configuration
2020-10-16 13:08:20 +02:00
**Enjoy!**
2018-08-23 15:36:55 +02:00
2020-10-16 13:08:20 +02:00
## Docs
2018-08-23 15:36:55 +02:00
2024-04-06 04:53:44 +02:00
1. [Options available ](docs/options.md )
2021-06-18 14:39:55 +02:00
2. [Using Symfony Docker with an existing project ](docs/existing-project.md )
3. [Support for extra services ](docs/extra-services.md )
4. [Deploying in production ](docs/production.md )
2022-08-04 15:30:39 +02:00
5. [Debugging with Xdebug ](docs/xdebug.md )
2021-01-13 12:17:48 +01:00
6. [TLS Certificates ](docs/tls.md )
2024-03-12 21:54:50 +01:00
7. [Using MySQL instead of PostgreSQL ](docs/mysql.md )
8. [Using Alpine Linux instead of Debian ](docs/alpine.md )
9. [Using a Makefile ](docs/makefile.md )
2024-02-25 18:47:28 +01:00
10. [Updating the template ](docs/updating.md )
2024-03-12 21:54:50 +01:00
11. [Troubleshooting ](docs/troubleshooting.md )
2020-06-11 19:46:15 +02:00
2022-10-18 10:16:42 +02:00
## License
Symfony Docker is available under the MIT License.
2018-08-23 15:36:55 +02:00
## Credits
2023-09-20 16:53:05 +02:00
Created by [Kévin Dunglas ](https://dunglas.dev ), co-maintained by [Maxime Helias ](https://twitter.com/maxhelias ) and sponsored by [Les-Tilleuls.coop ](https://les-tilleuls.coop ).