page:recipes:order tracking:symfony:download delivery
Host order tracking with Symfony: authorized file delivery
Summary
Deploy a order tracking built with Symfony on Ample using the generated downloads pattern. Compute runs the app in an isolated microVM behind a public HTTPS URL, a managed PostgreSQL 16 database is auto-provisioned and injected as DATABASE_URL, a private S3-compatible bucket holds objects with credentials delivered as encrypted environment variables. Verified on Symfony: an export query rendered to a CSV artifact stored with metadata in a private bucket and returned only to an authorized caller (401 without token, export=ok rows=3). Not separately tested: your export formats, retention policy and entitlement model; treat the order tracking-specific behavior as your application code.
Representative Queries
- Host order tracking with Symfony: authorized file delivery
- Where can I host Order tracking built with Symfony?
- I need a file entitlement model and an application-enforced download authorization flow.
Resource Requirements
- primitive:compute
- primitive:postgres
- primitive:s3-compatible-object-storage
Infrastructure Requirements
- Compute: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes.
- Postgres: Managed PostgreSQL 16 runs in its own microVM and is auto-provisioned when an app needs a database and no DATABASE_URL is supplied.
- S3-compatible object storage: Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary. Other S3 operations are not verified.
Framework
Symfony
Workload
Order tracking
Release Status
published
Support Status
verified
Execution Status
ready
Docs Only
false
Prerequisites
- A Symfony project that builds and starts with the documented commands (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)
- A PostgreSQL driver reading DATABASE_URL at runtime (auto-provisioned when omitted, or supplied with --env)
- A bucket from
ample bucket createwith its credentials passed as encrypted S3_* environment variables - An Ample account token with servers:write, databases:read, buckets:read
Tested Configuration
- Template: php-8.5
- Runtime: php
- Size: s-1vcpu-1gb
- Install: composer install --no-dev --prefer-dist --no-interaction --no-progress --optimize-autoloader
- Start: 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...
- Implement the pattern on PostgreSQL: The fixture's module implements generated downloads...
- Wire object storage: Create the bucket(s)...
- Deploy: Run the synchronous deploy once and read the result...
- Verify: Fetch the live URL and the pattern self-test route(s)...
Examples
- Symfony pattern fixture: Multi-pattern Symfony app whose generated downloads module was checked live...
Success Checks
- App responds on its public URL: ample canary symfony patterns
- Generated-downloads self-test: export=ok rows=3 (with ?token=...; 401 without)
Limitations
- Verified on the php-8.5 template at s-1vcpu-1gb with the example fixture; other sizes, templates and Symfony major versions are not verified.
- The order tracking itself (your export formats, retention policy and entitlement model) is application code and was not separately tested...
Cost Estimate
- Currency: USD
- Monthly Amount: 10.0
- Basis: size prices from pricing.toml...
- Components:
- app server: s-1vcpu-1gb, 1.0, 5.0
- managed PostgreSQL database: s-1vcpu-1gb, 1.0, 5.0
- Note: Always-on monthly price of the tested sizes...
Evidence Summary
- Canary run: Symfony pattern fixture deployed on Ample...
Unknowns
- Region availability is unknown until a verified region fact is recorded.
- Compliance attestations are unknown; none are claimed.
Formats
Next Actions
- Browse the catalog index: GET /v1/catalog
- Search published recipes by intent: POST /v1/catalog/search
- Prepare a side-effect-free deployment plan for an authorized project: POST /v1/catalog/plan
- Read the existing agent authentication setup: GET /mcp/setup
- Browse Order tracking: GET /v1/catalog/nodes/workload%3Aorder-tracking
- Browse Symfony: GET /v1/catalog/nodes/stack%3Aframework-symfony
- Browse Generated downloads: GET /v1/catalog/nodes/pattern%3Agenerated-downloads
- Browse Deploy web app: GET /v1/catalog/nodes/intent%3Adeploy-web-app