SearXNG:
- Fix tini not found error by calling entrypoint.sh directly
- Keep limiter.toml creation at container startup
UI Changes:
- Rename "Tableau de bord" to "Suivis produits" in navigation
- Move CSS selector configuration from item modal to Settings page
- Add price_selector field to search sites configuration
- Display CSS selector badge on site cards
Backend:
- Add price_selector column to SearchSite model and schemas
- Update init.sql with search_sites table and migration for existing DBs
- Fix SearXNG limiter.toml directory issue by creating file at container
startup via entrypoint command (rm -rf then recreate)
- Update README to use logo.svg instead of logo.png
- Redesign favicon.svg to match main logo style:
- Same gold-to-green gradient background
- Line gradient from white to green
- Glow effect on chart line
- Decorative dots at data points
- Green arrow indicator
- Add real_ip config to settings.yml to trust proxy headers
- Update limiter.toml to allow all IPs (0.0.0.0/0 and ::/0)
- Re-add limiter.toml volume mount (file now exists)
- Add localhost range (127.0.0.0/8) to pass_ip list
Docker was creating /etc/searxng/limiter.toml as a directory instead of
mounting the file, causing IsADirectoryError. The limiter is already
disabled in settings.yml, so the separate toml file is not needed.
This commit adds a comprehensive product search feature that allows users
to search for products across multiple configured e-commerce sites.
Backend changes:
- Add SearXNG service to docker-compose for meta-search capability
- Add SearchSite model and Alembic migration with default sites
- Create searxng_service.py for search queries across sites
- Create light_scraper_service.py for fast HTTP-based extraction
- Create search_service.py orchestrator combining SearXNG + HTTP + Browserless
- Add API endpoints for search (/api/search) with SSE streaming
- Add CRUD endpoints for search sites (/api/search-sites)
Frontend changes:
- Add new /search page with real-time results display
- Create SearchResultCard component for product display
- Add Progress, Checkbox, and Badge UI components
- Update Settings page with search sites management section
- Add navigation link to search page
- Create new modern SVG logo with price-flow gradient design
- Update favicon to SVG format
The search system uses a hybrid approach:
1. SearXNG finds product URLs across configured sites
2. Light HTTP scraper attempts fast extraction
3. Falls back to Browserless for JavaScript-heavy sites
4. Results stream progressively via SSE
- Changement du port de l'application de 8000 à 8555
- Mise à jour Dockerfile, docker-compose.yml et docker-entrypoint.sh
- README.md entièrement réécrit en français avec:
- Instructions d'installation complètes
- Documentation de l'architecture Docker
- Guide de configuration OpenRouter
- Section développement et personnalisation
Modifications majeures:
1. Rebranding: Pricecious → PriceFlow
- Mise à jour du titre, logo et noms de projet
2. Intégration OpenRouter
- Ajout comme provider IA avec filtres (chat, vision, code, reasoning, free)
- Récupération dynamique des modèles et coûts
- Service et router dédiés (/api/openrouter/models)
3. Internationalisation (i18n)
- Installation i18next + react-i18next
- Application entièrement traduite en français
- Fichier de traduction: fr.json
4. Configuration Docker
- docker-compose.yml avec réseau nginx_default (external)
- PostgreSQL sur port 5488:5432
- Browserless sur port 3012:3000
- init.sql pour initialisation de la base de données
- .env.example avec variables documentées
5. Favicon
- Documentation ajoutée dans index.html pour faciliter le remplacement