Skip to content

feat: add container deployment, CI smoke checks, and integration guidance - #87

Merged
ashrafee-dev merged 1 commit into
feat/harden-text-audio-apifrom
feat/container-deployment
Sep 26, 2026
Merged

ashrafee-dev merged 1 commit into
feat/harden-text-audio-apifrom
feat/container-deployment

Conversation

@ashrafee-dev

Copy link
Copy Markdown
Owner

Depends on #86

This PR is stacked on the API hardening branch. Merge #86 first, then retarget this PR to main before merging.

Summary

  • Add a non-root CPU-only Docker image with FFmpeg and dependency cache excluded from runtime layers.
  • Add Compose with private Redis, read-only filesystems, resource caps, bounded temporary storage, model cache, startup preloading, and health checks. Bind the API only to host loopback for an HTTPS reverse proxy.
  • Configure a single Uvicorn worker, bounded concurrency and WebSocket frames/queues, disabled compression, and no request access logs.
  • Run Python tests/lint, the docs build, and a real container/Redis/FFmpeg smoke check in CI.
  • Document deployment, TLS, credential rotation, quotas, advisory results, DeepSeek data flow, and the backend-gateway requirement for browser extensions. Update endpoint examples to /text and correct response types.
  • Upgrade Astro/sharp and affected transitive dependencies to resolve the npm audit findings. Add current repository guidance in AGENTS.md.

Verified locally

  • 40 Python tests passed; pylint app tests: 10.00/10.
  • Documentation builds; npm audit reports zero vulnerabilities.
  • Docker image builds on Linux ARM64.
  • Compose starts healthy using the non-root, read-only configuration (Whisper preloading disabled for this smoke run).
  • Real Redis enforces a shared HTTP/WebSocket quota; authenticated/unauthenticated behavior and readiness passed.
  • Real FFmpeg decodes a generated WAV while inference is mocked; Whisper imports and its cache is writable.

Deployment acceptance still required

No production credentials were used and no public deployment was performed. Before public rollout, configure real credentials and HTTPS, complete the documented live DeepSeek/Whisper checks, and benchmark the default turbo model on the target host. This API provides service-to-service authentication, not end-user login for an extension.

@vercel

vercel Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
scamshield-api Ready Ready Preview Sep 26, 2026 7:20pm UTC
scamshield-api-fhes Ready Ready Preview Sep 26, 2026 7:20pm UTC

@ashrafee-dev ashrafee-dev changed the title Add container deployment, CI smoke checks, and integration guidance feat: add container deployment, CI smoke checks, and integration guidance Sep 26, 2026
@ashrafee-dev
ashrafee-dev merged commit 77474fd into feat/harden-text-audio-api Sep 26, 2026
9 checks passed

This branch was successfully deployed

2 active deployments
Preview – scamshield-api-fhes — f30734f5 Deployed Sep 26, 2026 by vercel[bot]
Preview – scamshield-api — f30734f5 Deployed Sep 26, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant