You can customize the docker build process using these environment variables.
Note
All Symfony-specific environment variables are used only if no composer.json
file is found in the project directory.
Use the SYMFONY_VERSION
environment variable to select a specific Symfony version.
For instance, use the following command to install Symfony 6.4:
On Linux:
SYMFONY_VERSION=6.4.* docker compose up -d --wait
On Windows:
set SYMFONY_VERSION=6.4.* && docker compose up -d --wait&set SYMFONY_VERSION=
To install a non-stable version of Symfony, use the STABILITY
environment variable during the build.
The value must be a valid Composer stability option.
For instance, use the following command to use the development branch of Symfony:
On Linux:
STABILITY=dev docker compose up -d --wait
On Windows:
set STABILITY=dev && docker compose up -d --wait&set STABILITY=
Use the environment variables HTTP_PORT
, HTTPS_PORT
and/or HTTP3_PORT
to adjust the ports to your needs, e.g.
HTTP_PORT=8000 HTTPS_PORT=4443 HTTP3_PORT=4443 docker compose up -d --wait
to access your application on https://localhost:4443.
Note
Let's Encrypt only supports the standard HTTP and HTTPS ports. Creating a Let's Encrypt certificate for another port will not work, you have to use the standard ports or to configure Caddy to use another provider.
You can also customize the Caddyfile
by using the following environment variables to inject options block, directive or configuration.
Tip
All the following environment variables can be defined in your .env
file at the root of the project to keep them persistent at each startup
Environment variable | Description | Default value |
---|---|---|
CADDY_GLOBAL_OPTIONS |
the global options block, one per line | |
CADDY_EXTRA_CONFIG |
the snippet or the named-routes options block, one per line | |
CADDY_SERVER_EXTRA_DIRECTIVES |
the Caddyfile directives |
|
CADDY_SERVER_LOG_OPTIONS |
the server log options block, one per line | |
SERVER_NAME |
the server name or address | localhost |
FRANKENPHP_CONFIG |
a list of extra FrankenPHP directives, one per line | import worker.Caddyfile |
MERCURE_TRANSPORT_URL |
the value passed to the transport_url directive |
bolt://mercure.db |
MERCURE_PUBLISHER_JWT_KEY |
the JWT key to use for publishers | |
MERCURE_PUBLISHER_JWT_ALG |
the JWT algorithm to use for publishers | HS256 |
MERCURE_SUBSCRIBER_JWT_KEY |
the JWT key to use for subscribers | |
MERCURE_SUBSCRIBER_JWT_ALG |
the JWT algorithm to use for subscribers | HS256 |
MERCURE_EXTRA_DIRECTIVES |
a list of extra Mercure directives, one per line |
SERVER_NAME="app.localhost" docker compose up -d --wait