page:recipes:knowledge base:flask:relational content

Host knowledge base with Flask: Postgres-backed content

Summary

Deploy a knowledge base built with Flask on Ample using the relational records 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, and a published bucket serves public assets from the CDN host. Verified on Flask: a workspace-scoped table, an explicit state machine (draft to review to published) that rejects invalid transitions, and a cross-workspace read that returns nothing (transitions=true isolation=true). Not separately tested: your record schema, states and access rules; treat the knowledge base-specific behavior as your application code.

Framework and Workload

Resource Requirements

Execution Status

Prerequisites

  1. A Flask project that builds and starts with the documented commands (pip install into .ample/python from requirements.txt, then waitress from app.py reading PORT on the python-3.12 template).
  2. A PostgreSQL driver reading DATABASE_URL at runtime (auto-provisioned when omitted, or supplied with --env).
  3. A bucket from ample bucket create with its credentials passed as encrypted S3_* environment variables.
  4. An Ample account token with servers:write, databases:read, buckets:read.

Tested Configuration

Workflow Steps

  1. Build and start: pip install into .ample/python from requirements.txt, then waitress from app.py reading PORT on the python-3.12 template.
  2. Implement the pattern on PostgreSQL: Copy the approach into your schema; keep migrations idempotent and run them with --release-command.
  3. Wire object storage: Create the bucket(s), then pass endpoint, region, bucket and keys as --env values.
  4. Deploy: Run the synchronous deploy once and read the result.
  5. Verify: Fetch the live URL and the pattern self-test route(s) from the example; then run your own checks.

Examples

Success Checks

  1. App responds on its public URL.
  2. Relational-records self-test.

Limitations

Cost Estimate

Next Actions


Note: Ensure you handle all deployment according to the specifics outlined in the workflow steps.