Skip to content

Easy8 AI Basic - Cloud AI

Use this guide when:

  • the customer uses Easy8 AI Basic
  • LLM access is provided by a cloud service such as OpenAI or Azure OpenAI
  • no knowledge-base features are required

Easy8 AI Basic does not require ChromaDB or an embeddings service.

Environment configuration

Set the common variables from Common configuration, then add one supported cloud LLM configuration.

In the standard package deployment, you can usually leave EASY_AI_PUBLIC_URL, EASY_AI_CHAIN_HOST, EASY_AI_CHAIN_PORT, and EASY_AI_CHAIN_URL unset. Easy8 then derives the public AI URL from the main Easy8 application URL and uses http://chain:8000 for internal chain communication.

OpenAI example

OPENAI_API_KEY=sk-...

Azure OpenAI example

AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/

Installation steps

  1. Add the required environment variables to the Easy8 deployment .env file.
  2. Verify the package includes docker-compose_easy_ai.yml.
  3. Run:
docker compose run --rm app install
docker compose up -d
  1. Configure the reverse proxy for browser access to Easy8 AI before testing activation.

Easy8 AI Basic browser requests must reach the chain service through /ai/chain. If this reverse proxy route is missing or incorrect, activation can fail with 404 errors on /ai/chain/api/... even when the environment variables are correct.

Use the reverse proxy rule from Common configuration.

  1. Confirm app, chain, celery, and redis are running.

  2. Verify both public chain URLs work through the reverse proxy:

  3. https://your.easy.host/ai/chain/sys/monitoring.json

  4. https://your.easy.host/ai/chain/api/info

Notes

  • chroma may still be present in the package compose, but Basic does not depend on it.
  • embeddings are not needed for this scenario.
  • if no LLM provider is configured, the chain will start but Basic AI features will not work.
  • a shared EASY_JWT_SECRET is required, but 404 responses on /ai/chain/api/... usually indicate a reverse proxy or public URL problem rather than a JWT mismatch.