Upload files to "/"
This commit is contained in:
commit
6b68710148
|
|
@ -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: <YOUR_TUNNEL_ID>
|
||||||
|
credentials-file: /home/<USER>/.cloudflared/<YOUR_TUNNEL_ID>.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/`)
|
||||||
Loading…
Reference in New Issue