---
title: Warracker
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, tracking, garanties, warranties, receipts, flask, postgresql]
confidence: high
contested: false
sources: [https://selfh.st/apps/warracker, https://github.com/sassanix/warracker]
---

# Warracker

> Un tracker de garanties produits qui centralise dates d'expiration, reçus et documents, avec alertes proactives et gestion complète des réclamations.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://warracker.com/ |
| **GitHub** | https://github.com/sassanix/warracker |
| **License** | AGPL-3.0 |
| **Langage principal** | Python (Flask) + JavaScript |
| **Étoiles GitHub** | ⭐1.4k |
| **Dernière MAJ** | 2025-10-30 (v1.0.2) |
| **Catégorie** | [[cat-tracking]] |

## Description

Warracker est né d'un constat personnel de son créateur : après que la garantie d'un lave-vaisselle familial ait expiré de quelques mois seulement, la facture inutilement payée a inspiré l'outil. Inspiré de **Wallos** (tracker d'abonnements), Warracker apporte la même rigueur au suivi des garanties produits. L'objectif est simple : **ne plus jamais perdre une facture**, **être prévenu à temps** d'une expiration, et pouvoir **documenter une réclamation** en un clic.

Chaque garantie enregistrée peut contenir : nom du produit, marque, modèle, numéro(s) de série multiples, vendeur, date d'achat, durée de garantie, prix, tags personnalisés, photo avec miniature, et tous les documents associés (reçus, factures, manuels) stockés en pièce jointe. Les **numéros de série multiples** sont particulièrement utiles pour les produits composés (par exemple un PC avec son écran et ses accessoires). Les statuts (active, expirée, archivée) permettent de garder un historique propre.

L'écosystème de **notifications** est très complet : email natif, et **Apprise** (100+ services : Discord, Slack, Telegram, ntfy, Gotify, Pushover…). Les rappels sont entièrement personnalisables en nombre de jours avant expiration. Le **support multi-utilisateurs** avec rôles, permissions, et vue globale pour les administrateurs est adapté aussi bien à un usage familial qu'à un petit commerce. L'intégration optionnelle avec **Paperless-ngx** permet de centraliser tous les documents scannés au même endroit, et l'**OIDC SSO** (Google, GitHub, Keycloak) facilite l'authentification.

## Installation
### Via Docker (recommandé)
```yaml
services:
  warracker:
    image: ghcr.io/sassanix/warracker/main:latest
    container_name: warracker
    restart: unless-stopped
    ports:
      - "8005:80"
    volumes:
      - warracker-uploads:/data/uploads
    env_file:
      - .env
    depends_on:
      warrackerdb:
        condition: service_healthy

  warrackerdb:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      - POSTGRES_DB=warracker
      - POSTGRES_USER=warracker
      - POSTGRES_PASSWORD=***    volumes:
      - warracker-db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U warracker"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  warracker-uploads:
  warracker-db:
```
Créer un fichier `.env` à partir de `env.example` avec vos paramètres (SECRET_KEY, MAIL_*, APPRISE_URL…).

### Installation manuelle
1. Cloner : `git clone https://github.com/sassanix/warracker.git`
2. Installer Python 3.11+ : `pip install -r requirements.txt`
3. Préparer une base PostgreSQL et configurer l'URL de connexion
4. Lancer les migrations Flask et démarrer Gunicorn + Nginx
5. Se référer à la documentation officielle pour le détail des variables d'environnement

## Configuration

- **Créer le premier compte** via l'écran d'inscription : il dispose automatiquement des droits administrateur.
- Configurer l'**envoi d'emails** (SMTP) ou une **URL Apprise** pour recevoir les alertes d'expiration.
- Définir le **délai de rappel par défaut** (par exemple : 30, 7, 1 jours avant expiration).
- Configurer la **devise et le format de date** selon votre localisation.
- Activer l'**OIDC SSO** si vous avez déjà un fournisseur d'identité (Authentik, Keycloak, Google).
- Brancher **Paperless-ngx** via les paramètres d'intégration pour la gestion documentaire avancée.

## Alternatives
### Open source
- [[app-dumbassets]] — inventaire d'objets généraliste avec suivi de garantie basique
- **Wallos** (même auteur conceptuel) — pour les abonnements, même approche épurée
- **HomeZada** (non open source mais existe en SaaS) — gestion patrimoniale complète
- **Grocy** — gestion d'inventaire domestique, pas spécifiquement conçu pour les garanties
### Propriétaires
- **Sortly** — inventaire visuel avec module garantie mais freemium limité
- **Warranty Life** — service commercial dédié aux garanties, sans auto-hébergement

## Sécurité

- **Authentification par email/password** avec token de réinitialisation sécurisé, et option OIDC SSO.
- **HTTPS obligatoire** en production, idéalement via reverse proxy (Traefik, Caddy) avec Let's Encrypt automatique.
- Les **uploads de documents** sont stockés sur un volume dédié : sauvegarder régulièrement ce volume ET la base PostgreSQL.
- Le **SECRET_KEY** Flask doit être une valeur aléatoire forte unique par instance.
- En multi-utilisateurs, **définir attentivement les rôles** pour ne pas exposer la vue globale à des utilisateurs non-admin.
- **Ne pas exposer le port PostgreSQL** sur l'interface réseau hôte.

## Ressources
- Site officiel : https://warracker.com/
- Dépôt GitHub : https://github.com/sassanix/warracker
- Article selfh.st 2025 : https://selfh.st/post/2025-favorite-new-apps-so-far/
- Discussion Reddit : https://www.reddit.com/r/selfhosted/comments/1j2kzkr/
- Présentation XDA : https://www.xda-developers.com/self-hosted-app-keep-track-device-warranties/

## Pages Liées
- [[cat-tracking]]
- [[recettes-docker-compose]]
