Skip to content

Lower the barrier to try omadia (no-Docker eval path) #337

Description

@iret77

Problem

Today you need Docker knowledge to try omadia at all, and even with Docker the default stack builds from source and runs multiple services (see #336). That blocks both "just let me look at it" evaluators and "I'd self-host but I don't do Docker" adopters. These are two different funnels and shouldn't be solved with one mechanism.

Constraint to respect

omadia is single-tenant + BYO-key + own-your-data by design, and multi-tenant is explicitly out of scope for v1. A cheap "we host it for everyone" demo works against that architecture, so the hosted path has to be either ephemeral/isolated or a non-running guided tour — not a shared multi-tenant instance.

First proposals (ranked by leverage/effort)

1. Prebuilt images + minimal-core compose (low effort, prerequisite)

  • Publish middleware and web-ui images to GHCR; switch compose to image:.
  • Ship a minimal core (middleware + web-ui + postgres) as the default; move kroki/mermaid/minio/ollama behind real opt-in profiles.
  • Result: first run goes from "build + model pull" to "pull + start"; far smaller footprint. This also unblocks proposal 2.

2. One-click cloud deploy template (medium effort — the actual no-Docker answer)

  • Add a Railway / Render / Fly template ("Deploy" button) so a non-Docker user gets their own instance with an LLM key, no local Docker.
  • For this path, swap the Ollama embedding sidecar for an API-based embedding (Ollama in a PaaS is memory-heavy and cold-pull-awkward).
  • Depends on proposal 1.

3. Interactive demo / tour on omadia.ai (low–medium effort, highest reach)

  • A clickable recorded walkthrough (e.g. Arcade/Storylane), no backend.
  • Lets people see the prompt → run → audit-receipt flow without installing anything. Decoupled from infra, can ship independently.

Out of scope for "first steps" (note for later)

  • Ephemeral per-session hosted sandbox (real run, no install) — high effort, you eat the token cost + need isolation/abuse handling.
  • Native installer / single-process mode with sqlite-or-in-memory KG fallback — postgres+pgvector is the blocker; in-memory KG exists but loses state.

Suggested sequencing

1 → 2 → 3 in parallel. Defer the sandbox/native-installer work until demand isn't covered by the above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions