- Removed docs/ (Starlight) - Added www/ with pure HTML/CSS/JS landing page - Product website with features, how it works, get started - Basic HTML documentation pages (installation, quick start, AI providers) - Dockerfile.docs now serves static files from www/ - Updated README and AGENTS.md
119 lines
2.8 KiB
Markdown
119 lines
2.8 KiB
Markdown
# DearDiary
|
|
|
|
Self-hosted AI-powered daily journaling application. Capture events throughout the day and let AI generate thoughtful diary pages from your entries.
|
|
|
|
[](https://github.com/lotherk/deardiary)
|
|
|
|
## Features
|
|
|
|
- Quick event capture with keyboard shortcut (Ctrl+J)
|
|
- Multiple event types: text, health, photo, voice
|
|
- **Automatic geolocation** - events tagged with your location
|
|
- AI-powered diary page generation with customizable providers
|
|
- Events become immutable once a diary is generated (prevents editing past memories)
|
|
- Regenerate diary pages with additional instructions
|
|
- Generation tasks with title tracking per task
|
|
- Read all diaries with pagination (10/50/100 per page)
|
|
- Dashboard with diary excerpts
|
|
- Calendar view for browsing past entries
|
|
- Full-text search across events and diaries
|
|
- Export/Import data with version checking
|
|
- Dark/light theme support
|
|
- Self-hostable with Docker
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Clone the repository
|
|
git clone https://github.com/lotherk/deardiary.git
|
|
cd deardiary
|
|
|
|
# Start with Docker
|
|
docker compose up -d
|
|
```
|
|
|
|
Access the app at `http://localhost:5173`
|
|
|
|
Default credentials: `admin@localhost` / `changeme123`
|
|
|
|
## Documentation
|
|
|
|
Documentation is included in the `www/` directory. Run the website container:
|
|
|
|
```bash
|
|
docker compose up -d docs
|
|
```
|
|
|
|
Access at `http://localhost:4000`
|
|
|
|
## Configuration
|
|
|
|
1. Go to Settings and select your AI provider (Groq, OpenAI, Anthropic, Ollama, LM Studio)
|
|
2. Enter your API key for the selected provider
|
|
3. Optionally customize the model and base URL
|
|
4. Test the connection before saving
|
|
|
|
## Development
|
|
|
|
### Prerequisites
|
|
|
|
- Bun
|
|
- Node.js 20+
|
|
- Docker
|
|
|
|
### Backend
|
|
|
|
```bash
|
|
cd backend
|
|
bun install
|
|
bunx prisma generate
|
|
bun run dev
|
|
```
|
|
|
|
### Frontend
|
|
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
### Docker Build
|
|
|
|
```bash
|
|
docker compose build && docker compose up -d
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
├── backend/ # Hono + Prisma backend
|
|
│ ├── prisma/ # Database schema
|
|
│ └── src/ # API routes and AI services
|
|
├── frontend/ # React + Vite frontend
|
|
│ └── src/
|
|
│ ├── pages/ # Page components
|
|
│ ├── components/
|
|
│ └── lib/ # API client, geolocation
|
|
├── www/ # Product website with docs
|
|
├── Dockerfile # App container
|
|
├── Dockerfile.docs # Website container
|
|
└── docker-compose.yml
|
|
```
|
|
|
|
## Routes
|
|
|
|
- `/` - Dashboard with recent diary pages and excerpts
|
|
- `/today` - Today's event stream (main capture page)
|
|
- `/diary` - Paginated diary reader (10/50/100 per page)
|
|
- `/journal/:date` - View/edit diary page with generation tasks
|
|
- `/day/:date` - View day's events
|
|
- `/calendar` - Calendar view
|
|
- `/settings` - Configuration and Export/Import
|
|
|
|
## License
|
|
|
|
MIT License
|
|
|
|
Copyright 2026 Konrad Lother
|