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

Infrastructure Requirements

Prerequisites

  1. A Symfony project with configuration for Symfony Runtime's dotenv disabled.
  2. A bucket from ample bucket create with credentials passed as encrypted S3_* environment variables.
  3. An Ample account token with required permissions.

Tested Configuration

Workflow Steps

  1. Build and start
    composer install --no-dev from composer.lock with Symfony Runtime's dotenv disabled, then FrankenPHP serving public/.
  2. Create the bucket and pass its credentials
    Create it once with ample bucket create, then pass endpoint, region, bucket and keys with --env.
  3. Verify
    Fetch the live URL and /p/browser-file-uploads on the example; on failure read the build and runtime logs.

Examples

Limitations

Cost Estimate

Evidence Summary

Next Actions