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