page:recipes:member portal:laravel:private documents

Host member portal with Laravel: private documents

Deploy a member portal built with Laravel on Ample using the private document library 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 Laravel: a role-to-document access model with negative tests (401 without identity, 403 for the wrong role) and a private-bucket round-trip for the allowed role (private=ok). Not separately tested: your identity integration and role assignments; treat the member portal-specific behavior as your application code.

Representative Queries

Resource Requirements

Infrastructure Requirements

  1. Compute
    Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes.

  2. 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.

  3. S3-compatible object storage
    Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary. Other S3 operations are not verified.

Prerequisites

Tested Configuration

Workflow Steps

  1. Build and start
    Install dependencies and start the server.

  2. Implement the pattern on PostgreSQL
    Implement role-to-document access model with negative tests.

  3. Wire object storage
    Create the bucket and pass necessary environment variables.

  4. Deploy
    Run the deployment command.

  5. Verify
    Check the live URL and run self-test route(s).

Limitations

Cost Estimate

Evidence Summary

Next Actions