SkillAgentSearch skills...

Warracker

πŸ›‘οΈ Warracker is an open source, self-hostable warranty tracker to monitor expirations, store receipts, files. You own the data, your rules!

Install / Use

/learn @sassanix/Warracker
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <img src="https://github.com/user-attachments/assets/2132a842-4233-4d37-8fde-b2d23353ed76" width="100"/> <h1 <strong>Warracker</strong></h1> <p align="center"> <b>Open-source warranty tracker for individuals and teams.</b> <br/> The easiest way to organize product warranties, monitor expiration dates, and store receipts or related documents. </b> </p> </div> <div align="center">

GitHub issues GitHub license GitHub last commit GitHub release GitHub contributors Discord

<p align="center"> <img src="images/demo2.gif" alt="Warracker Demo" width="650"> </p>

</div> ⭐ If you find Warracker helpful, we’d truly appreciate a star on GitHub! Your support motivates us to keep improving and building great new features.

🌟Overview

Warracker is a web-based application that simplifies the management of product warranties. It allows users to organize warranty information, monitor expiration dates, and securely store related documents.

πŸ”‘ Key Features

| Feature | Description | | -------------------------------- | -------------------------------------------------------------------------------------------------------- | | πŸ—ƒοΈ Centralized Management | Track all your product warranties in one place | | 🧾 Detailed Records | Store purchase dates, durations, notes, and product photos with thumbnail previews | | πŸ“„ Document Storage | Upload receipts, invoices, and manuals securely | | πŸ“ Warranty Claims | Manage warranty claims end-to-end with statuses, dates, resolutions, and full lifecycle visibility | | πŸ”” Proactive Alerts | Get alerts for upcoming expirations via email or 100+ push services (Discord, Slack, etc.) using Apprise | | πŸ” Quick Search and Filter | Search by product name, serial number, vendor, tags, and more with real-time filtering | | #️⃣ Multiple Serial Numbers | Add and manage multiple serial numbers per product | | 🌍 Global Warranty View | Authenticated users can view global warranty data with role-based permissions | | πŸ‘₯ Multi-User Support | Manage multiple accounts with admin controls and global access toggles | | πŸ“€ Data Export/Import | Import/export warranty data via CSV | | βš™οΈ Customizable Settings | Configure currency, date formats, notification timing, and branding | | 🌐 Internationalization Support | Support for multiple currencies and date formats tailored to regional preferences, enabling a seamless global user experience | | 🏷️ Tagging | Organize warranties using custom tags | | πŸ“¦ Archiving | Archive expired or unused warranties for better organization, while keeping records accessible when needed | | πŸ” Password Reset | Token-based, secure account recovery system | | πŸ”‘ OIDC SSO | Single sign-on with providers like Google, GitHub, and Keycloak | | πŸ“Š Status Dashboard | Visual analytics and stats with charts, tables, and global/user views | | πŸ“± Responsive UI | Mobile-friendly interface with admin tools and improved UX | | πŸ“¦ Paperless-ngx Integration | Store/manage documents directly in Paperless-ngx with file-level control | | πŸ“– Localization Support | Full multilingual UI with 20 languages, RTL support, instant language switching, and native name display |


Project Status

Warracker is in active development. The essential features are reliable and ready for everyday use. Development is ongoing, with regular updates and improvements.

  • βœ… Stable core for tracking, notification , and managing warranty documents, files
  • βœ… Full support for self-hosted deployments
  • βš’οΈ Advanced enhancements are still being worked on
  • ✍️ Your feedback and bug reports help shape the future of the app

πŸ“ΈScreenshots

Home Page

<img width="1214" height="928" alt="image" src="https://github.com/user-attachments/assets/0c13e416-42ea-4378-ae50-7addee435e00" /> <img width="1208" height="927" alt="image" src="https://github.com/user-attachments/assets/4c5fdd5d-ff43-427d-82a5-45121dd21373" />

Status Dashboard

<img width="1167" height="1140" alt="image" src="https://github.com/user-attachments/assets/fca09073-7c34-4165-ad5c-86a03618ec87" />

πŸ› οΈTechnology Stack

  • Frontend: HTML, CSS, JavaScript
  • Backend: Python with Flask
  • Database: PostgreSQL
  • Containerization: Docker and Docker Compose
  • Web Server: Nginx

πŸ—ΊοΈRoadmap

  • βœ… User Authentication
  • βœ… Settings Page
  • βœ… Status Page
  • βœ… Customizable Reminders
  • βœ… Email Notifications
  • βœ… Warranty Categories via Tags
  • βœ… CSV Import/Export
  • βœ… OIDC SSO Functionality
  • βœ… Advanced User/Admin Controls
  • βœ… Paperless-ngx integration
  • βœ… Localization Support
  • βœ… Warranty Claim Tracking
  • βœ… Audit trail
  • [ ] Calendar Integration

πŸš€Setup

Prerequisites

  • Docker and Docker Compose installed on your system.

πŸ‹Pull Docker

services:
  warracker:
    image: ghcr.io/sassanix/warracker/main:latest
    ports:
      - "8005:80"
    volumes:
      - warracker_uploads:/data/uploads
    env_file:
      - .env
    depends_on:
      warrackerdb:
        condition: service_healthy
    restart: unless-stopped

  warrackerdb:
    image: postgres:15-alpine
    volumes:
      - postgres_data:/var/lib/postgresql/data
    env_file:
      - .env
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  postgres_data:
  warracker_uploads:

To get the docker compose file with environemts and .env example for warracker and the warrackerdb please go here

πŸ“ Usage

Accounts & Roles

  • The first account created in the system will automatically become the Admin account.
  • The Admin can manage other users, assign roles, and has full system permissions.
  • Regular users can only manage their own warranties unless granted additional privileges by the Admin.

Adding a Warranty

  1. Fill in the product details by clicking on Add Warranty.
  2. Enter the purchase date and warranty duration.
  3. Optionally upload receipt/documentation.
  4. Click the Add Warranty button.

Managing Warranties

  • Use the search box to filter warranties.
  • Click the edit icon to modify warranty details.
  • Click the delete icon to remove a warranty.
<details> <summary><strong>Product Information Entry Requirements for CSV import</strong></summary>

Click on Data > Import

| Field Name | Format / Example | Required? | Notes | |----------------|-------------------------------------------|--------------------------------------------------------|-----------------------------------------------------------------------| | ProductName | Text | βœ… Yes | Provide the name of the product. | | PurchaseDate | Date (YYYY-MM-DD, e.g., 2024-05-21) | βœ… Yes | Use ISO format only. | | WarrantyDurationYears | Whole Number (0, 1, 5) | βœ… Yes, if IsLifetime is FALSE and Months/Days are 0/blank. At least one duration field (Years, Months, Days) must be non-zero if not lifetime. | Represents the years part of the warranty. Can be combined with Months and Days. | | WarrantyDurationMonths | Whole Number (0, 6, 18) | βœ… Yes, if IsLifetime is FALSE and Years/Days are 0/blank. At least one duration field (Years, Months, Days) must be non-zero if not lifetime. | Represents the months part of the warranty. Can be combined with Years and Days. Max 11 if Years also provided. | | WarrantyDurationDays | Whole Number (0, 15, 90) | βœ… Yes, if IsLifetime is FALSE and Years/Months are 0/blank. At least one duration field (Years, Months, Days) must be non-zero if not lifetime. | Represents the days part of the warranty. Can be combined with Years and Months. Max 29/30 if Months also provided. | | ExpirationDate | Date (YYYY-MM-DD, e.g., 2031-10-08) | ❌ No (Optional) | Use this if duration fields are 0 and IsLifetime is FALSE. | | IsLifetime | TRUE or FALSE (case-insensitive) | ❌ No (Optional)

View on GitHub
GitHub Stars1.4k
CategoryDevelopment
Updated13h ago
Forks42

Languages

JavaScript

Security Score

100/100

Audited on Mar 31, 2026

No findings