- 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
2.8 KiB
2.8 KiB
DearDiary
Self-hosted AI-powered daily journaling application. Capture events throughout the day and let AI generate thoughtful diary pages from your entries.
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
# 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:
docker compose up -d docs
Access at http://localhost:4000
Configuration
- Go to Settings and select your AI provider (Groq, OpenAI, Anthropic, Ollama, LM Studio)
- Enter your API key for the selected provider
- Optionally customize the model and base URL
- Test the connection before saving
Development
Prerequisites
- Bun
- Node.js 20+
- Docker
Backend
cd backend
bun install
bunx prisma generate
bun run dev
Frontend
cd frontend
npm install
npm run dev
Docker Build
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