️ Warracker 是一个 开源, 可自行托管的保修跟踪工具,用于监控到期时间、存储收据和文件。您拥有数据,您制定规则!
⭐ 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.
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.
| 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 |
Warracker is in active development. The essential features are reliable and ready for everyday use. Development is ongoing, with regular updates and improvements.
Home Page
Status Dashboard
…To get the docker compose file with environemts and .env example for warracker and the warrackerdb please go here
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) | If omitted, defaults to FALSE. If TRUE, duration fields are ignored. |
| PurchasePrice | Number (199.99, 50) |
❌ No (Optional) | Cannot be negative if provided. |
| SerialNumber | Text (SN123, SN123,SN456) |
❌ No (Optional) | For multiple values, separate with commas. |
| ProductURL | Text (URL format) | ❌ No (Optional) | Full URL to product page (optional field). https://producturl.com |
| Vendor | Text | ❌ No (Optional) | Name of the vendor or seller where the product was purchased. |
| Tags | Text (tag1,tag2) |
❌ No (Optional) | Use comma-separated values for multiple tags. |
Warracker offers full multilingual UI support with 18 languages, including RTL (Right-to-Left) support, instant language switching, and native name display.
Supported Languages| Language | Code | Native Name | Notes |
|---|---|---|---|
| Arabic | ar | العربية | RTL Support |
| Czech | cs | Čeština | |
| German | de | Deutsch | |
| English | en | English | Default |
| Spanish | es | Español | |
| Persian | fa | فارسی | RTL Support |
| French | fr | Français | |
| Hindi | hi | हिन्दी | |
| Italian | it | Italiano | |
| Japanese | ja | 日本語 | |
| Korean | ko | 한국어 | |
| Dutch | nl | Nederlands | |
| Portuguese | pt | Português | |
| Russian | ru | Русский | |
| Ukrainian | uk | Українська | |
| Chinese (Simplified) | zh_CN | 简体中文 | |
| Chinese (Hong Kong) | zh_HK | 繁體中文 (香港) | |
| Turkish | tr | Türkçe | |
| Polish | pl | Polski | |
| Hebrew | he | עברית | RTL Support |
Warracker was born from personal frustration with warranty confusion. When my father’s dishwasher broke, we had the invoice and assumed it was under warranty, only to find out we were referencing the wrong one, and the warranty had ended by a couple of months.
That experience, along with others like it, made me realize how common and avoidable these issues are. So I built Warracker, a simple, organized way to track purchases, receipts, and warranties. It has already saved me money by reminding me to get car repairs done before my warranty expired.
Inspired by Wallos, I wanted to bring the same clarity to warranties that it brought to subscriptions and share it with anyone who's ever been burned by missed coverage.
We welcome contributions and appreciate your interest in improving this project! To get started, please follow these steps:
git checkout -b feature/amazing-featuregit commit -m "Add: amazing feature"git push origin feature/amazing-feature暂无开放 Issues,或尚未同步最近议题。