page:guides:symfony:object client
Configure S3-compatible access for Symfony
Summary
Object storage client for a Symfony app on Ample. Verified on Symfony: bucket credentials delivered as encrypted S3_* environment variables and a validated PutObject/GetObject round-trip linked to a database row (upload=ok linked=ok). Build and start: composer install --no-dev from composer.lock with Symfony Runtime's dotenv disabled.
Resource Requirements
- primitive:compute
- primitive:s3-compatible-object-storage
Infrastructure Requirements
- Compute
Status: verified
Summary: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes. - S3-compatible object storage
Status: verified
Summary: Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary.
Prerequisites
- A Symfony project with configuration for Symfony Runtime's dotenv disabled.
- A bucket from
ample bucket createwith credentials passed as encrypted S3_* environment variables. - An Ample account token with required permissions.
Tested Configuration
- Template: php-8.5
- Runtime: php
- Size: s-1vcpu-1gb
- Install Command: composer install --no-dev --prefer-dist --no-interaction --no-progress --optimize-autoloader
- Start Command: frankenphp php-server --listen :$PORT --root public
Workflow Steps
- Build and start
composer install --no-dev from composer.lock with Symfony Runtime's dotenv disabled, then FrankenPHP serving public/. - Create the bucket and pass its credentials
Create it once withample bucket create, then pass endpoint, region, bucket and keys with --env. - Verify
Fetch the live URL and /p/browser-file-uploads on the example; on failure read the build and runtime logs.
Examples
- Symfony pattern fixture
Verified object storage client on Symfony.
Source: tests/deploy-canaries/symfony-patterns
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
Basis: size prices from pricing.toml at build revision.
Evidence Summary
- Canary Run
Summary: Symfony pattern fixture deployed on Ample; bucket credentials delivered as encrypted S3_* environment variables and validated round-trip.
Next Actions
- Browse the catalog index
- Search published recipes by intent, stack and constraints
Parameters: {"limit":5,"query":"Configure S3-compatible access for Symfony"} - Prepare a side-effect-free deployment plan for an authorized project
Parameters: {"inputs":{},"projectId":"","recipeId":"page:guides:symfony:object-client","recipeRevision":"r1"}