page:guides:symfony:configuration secrets
Configure Environment and Secrets for Symfony
Framework Operation: Configuration and secrets for a Symfony app on Ample. Verified on Symfony: an --env value delivered encrypted and reported as present without being echoed (secret=set). Build and start:
composer install --no-dev from composer.lock with Symfony Runtime's dotenv disabled (extra.runtime.disable_dotenv; .env never ships, its values arrive as encrypted env, and compile-time parameters such as DEFAULT_URI need a default), then FrankenPHP serving public/ (php-server with the index.php fallback) reading PORT on the php-8.5 template with APP_ENV=prod.
Prerequisites
- A Symfony project (composer install --no-dev from composer.lock with Symfony Runtime's dotenv disabled (extra.runtime.disable_dotenv; .env never ships, its values arrive as encrypted env, and compile-time parameters such as DEFAULT_URI need a default), then FrankenPHP serving public/ (php-server with the index.php fallback) reading PORT on the php-8.5 template with APP_ENV=prod).
- An Ample account token with servers:write.
Workflow Steps
Build and Start
composer install --no-dev from composer.lock with Symfony Runtime's dotenv disabled (extra.runtime.disable_dotenv; .env never ships, its values arrive as encrypted env, and compile-time parameters such as DEFAULT_URI need a default), then FrankenPHP serving public/ (php-server with the index.php fallback) reading PORT on the php-8.5 template with APP_ENV=prod; the server must bind 0.0.0.0 on PORT.Pass Values on Deploy
Use --env KEY=value (repeatable) or --env-file; values are encrypted at rest and reused on redeploys. Declare names only in ample.toml.ample deploy . --name --public --env MY_SECRET=...Verify
Fetch the live URL and /p/configuration-secrets on the example; on failure read the build and runtime logs.ample logs --kind build
Limitations
- Verified on the php-8.5 template at s-1vcpu-1gb; other sizes and Symfony major versions are not verified.
- Region, compliance attestations and request-duration limits are unknown and not claimed.
Cost Estimate
- Monthly Amount: $5.00 (USD)
- Components:
- App server (s-1vcpu-1gb): $5.00
Success Checks
- App responds on its public URL (/), expect "ample canary symfony patterns".
- Configuration-secrets check from the example, expect "see the pattern fixture checks".