# Symfony Docker 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! Specially tailored for coding agents: ships with a [Dev Container](https://containers.dev/) configuration that lets [Claude Code](https://claude.ai/claude-code) (and other AI coding assistants) run in fully autonomous mode inside a sandboxed environment. ![CI](https://github.com/dunglas/symfony-docker/workflows/CI/badge.svg) ## Getting Started 1. If not already done, [install Docker Compose](https://docs.docker.com/compose/install/) (v2.10+) 2. Run `docker compose build --pull --no-cache` to build fresh images 3. Run `docker compose up --wait` to set up and start a fresh Symfony project 4. Open `https://localhost` in your favorite web browser and [accept the auto-generated TLS certificate](https://stackoverflow.com/a/15076602/1352334) 5. Run `docker compose down --remove-orphans` to stop the Docker containers. ## Features - Production, development and CI ready - Just 1 service by default - Super-readable configuration - Blazing-fast performance thanks to [the worker mode of FrankenPHP](https://frankenphp.dev/docs/worker/) - [Installation of extra Docker Compose services](docs/extra-services.md) with Symfony Flex - 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) - [Vulcain](https://vulcain.rocks) support - Native [XDebug](docs/xdebug.md) integration - [Hot Reloading](https://frankenphp.dev/docs/hot-reload/) - [Dev Container](https://containers.dev/) support, optimized for AI coding agents - [AI coding agents](docs/agents.md) with sandboxing out of the box - Rootless, slim production image **Enjoy!** ## Docs 1. [Options available](docs/options.md) 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) 5. [Debugging with Xdebug](docs/xdebug.md) 6. [TLS Certificates](docs/tls.md) 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) 10. [Updating the template](docs/updating.md) 11. [Troubleshooting](docs/troubleshooting.md) 12. [Using AI Coding Agents](docs/agents.md) ## License Symfony Docker is available under the MIT License. ## Credits 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).