From 6b68710148a5edc253cac291e76b0cf150453eb5 Mon Sep 17 00:00:00 2001 From: RomanNum3ral Date: Mon, 4 May 2026 12:51:04 +0000 Subject: [PATCH] Upload files to "/" --- README(1).md | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 README(1).md diff --git a/README(1).md b/README(1).md new file mode 100644 index 0000000..3499cf5 --- /dev/null +++ b/README(1).md @@ -0,0 +1,93 @@ +# Ollama + Cloudflare + Obsidian BMO Chatbot + +**Course:** Software Engineering — Final Project + +A self-hosted AI server running Ollama, tunneled through Cloudflare, and connected to Obsidian via the BMO Chatbot plugin. + +--- + +## How It Works + +``` +Obsidian BMO Plugin → Cloudflare Tunnel → Ollama (localhost:11434) +``` + +Your prompts go from Obsidian through a secure Cloudflare tunnel to Ollama running on your local machine. No cloud AI provider needed. + +--- + +## Dependencies + +| Tool | Purpose | +|---|---| +| [Ollama](https://ollama.com) | Runs the local AI model | +| [cloudflared](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/) | Exposes Ollama over a public HTTPS URL | +| [Obsidian](https://obsidian.md) | Note-taking app | +| [BMO Chatbot Plugin](https://github.com/longy2k/obsidian-bmo-chatbot) | Connects Obsidian to the Ollama API | + +--- + +## Setup + +### 1. Start Ollama + +```bash +ollama pull llama3 +ollama serve +``` + +### 2. Create a Cloudflare Tunnel + +```bash +cloudflared tunnel login +cloudflared tunnel create ollama-tunnel +``` + +Edit `~/.cloudflared/config.yml`: + +```yaml +tunnel: +credentials-file: /home//.cloudflared/.json + +ingress: + - hostname: ollama.yourdomain.com + service: http://localhost:11434 + - service: http_status:404 +``` + +```bash +cloudflared tunnel route dns ollama-tunnel ollama.yourdomain.com +cloudflared tunnel run ollama-tunnel +``` + +### 3. Configure BMO Plugin + +1. Obsidian → Settings → Community Plugins → install **BMO Chatbot** +2. Set **REST API URL** to `https://ollama.yourdomain.com` +3. Set **Model** to `llama3` +4. Leave **API Key** blank + +--- + +## Project Structure + +``` +/ +├── README.md +├── requirements.txt +├── config/ +│ └── cloudflared-config.yml +├── docs/ +│ ├── architecture.md +│ └── dependencies.md +└── src/ +``` + +--- + +## Submission Checklist + +- [ ] `README.md` +- [ ] `requirements.txt` +- [ ] `docs/` — architecture & dependencies +- [ ] `src.tar.gz` — source files (`tar -czf src.tar.gz src/`)