Stop digging through email attachments. Keep your family's policy documents safe, organized, and fully under your control.
A modern, containerized application to track insurance policies (Car, Home, Life, Medical, etc.) across multiple households. Built for self-hosters who value privacy and data ownership.
- 🏠 Multi-Household Support: Manage policies for different homes or family groups from a single instance.
- 📄 Document Storage: Upload and view policy PDFs directly in the browser.
- 📊 Dashboard Overview: Quick glance at active policies, premiums, and coverage dates.
- 🌗 Dark/Light Mode: Fully responsive UI with persistent theme preferences.
- ⚡ Modern Stack: Built with Vue 3 (Vuetify) and FastAPI.
- 🐳 Dockerized: One command setup with Nginx handling SPA routing and static assets.
Policy deatils
Creating household assets
Create new Car insurance policy
More screenshots are available in the docs
This is the recommended way to run the application.
-
Create the docker-compose.yml file
services: policynest: image: splinterhead27/policynest:latest container_name: policynest ports: - 8000:8000 volumes: - ./data:/data restart: unless-stopped
-
Start the stack
docker-compose up-
Access the App
- Frontend:
http://localhost:8000 - Backend API Docs:
http://localhost:8000/docs
- Frontend:
-
First Run: You will be prompted to create your first "Household" (e.g., The Smith Residence) to initialize the database.
- Authentication: Add user login support.
- Database Integration: Switch from SQLite to PostgreSQL for larger deployments.
- Assets Layer: Attach policies to specific assets (e.g., "2015 Honda Civic").
- Renewal Alerts: Email notifications when a policy is ending.
If you want to contribute or run the app locally without Docker:
- Navigate to the backend:
cd backend - Install dependencies (ensure you have Poetry installed):
poetry install
- Run the server:
poetry run uvicorn app.main:app --reload
- Navigate to the frontend:
cd frontend - Install dependencies:
npm install
- Start the dev server:
npm run dev
The project follows a standard 3-tier architecture containerized via Docker Compose.
- Frontend: Vue 3, Vuetify, Vue Router (Served via Nginx in production).
- Backend: FastAPI (Python 3.9).
- Database: SQLite (Default, strictly local) with SQLAlchemy ORM.
- Storage: Local filesystem (
/uploadsvolume) for PDF documents.
policynest/
├── backend/
│ ├── app/ # FastAPI application code
│ ├── tests/ # Pytest unit tests
│ ├── pyproject.toml # Poetry dependency management
│ └── Dockerfile
├── frontend/
│ ├── src/
│ │ ├── components/# Reusable UI components
│ │ ├── views/ # Page views (Policies, Settings)
│ │ └── router/ # Vue Router configuration
│ ├── nginx.conf # SPA routing configuration
│ └── Dockerfile
└── docker-compose.yml
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.



