First PriceStalker release — a friendly fork of clucraft/PriceGhost (upstream last released 1.0.6 on 2026-01-26, now inactive). Rebranded, picks up pending upstream PRs, adds new AI providers, improves multi-currency handling, and tightens default security.
Docker images
ghcr.io/mikeknight85/pricestalker-backend:1.1.0
ghcr.io/mikeknight85/pricestalker-frontend:1.1.0
:latest is kept as a floating tag.
Migrating from clucraft/PriceGhost
Set these env vars so PriceStalker attaches to your existing priceghost database and volume without moving any data. See .env.example for details.
POSTGRES_DB=priceghost
DATABASE_URL=postgresql://postgres:postgres@postgres:5432/priceghost
POSTGRES_VOLUME_NAME=priceghost_postgres_dataAdded
- OpenRouter AI provider — aggregator access to hundreds of models (free tier included) via one API key. Defaults to
meta-llama/llama-3.1-8b-instruct:free. Closes upstream #23. - Groq AI provider — merged from upstream PR #27 by @f-liva. Supports Llama 3.3 70B, Llama 3.1 8B Instant, Mixtral 8x7B, Gemma 2 9B.
- Migration path from clucraft/PriceGhost — env-overridable
docker-compose.yml. Keep your data; no rename, no volume move. - LICENSE file (MIT) with attribution to the original author and the fork.
Changed
- Rebranded from PriceGhost to PriceStalker across UI, docker identifiers, package names, and assets.
- Base images bumped from Node 20 to Node 22 LTS (addresses part of upstream #31).
- Multi-currency parser — fixes the bug reported in upstream #24 where Brazilian
R$2.720,00was parsed as$2.72. Added BRL, PLN, KRW, RUB, SEK, NOK, DKK, CNY. Swiss apostrophe (CHF 1'234.56) is now handled. Number format is disambiguated using the detected currency. - Frontend price formatting consolidated — six duplicate implementations replaced with one shared util. NotificationBell now correctly displays CHF.
Fixed
- Product name truncation to 255 chars — merged from upstream PR #18 by @ericdaugherty. Closes upstream #17.
- Groq column migration — upstream PR #27 only added the columns to fresh-install SQL. Users migrating from existing PriceGhost deployments would hit
column \"groq_api_key\" does not existon every Settings save. Now runs as an idempotent startup migration.
Security
- Removed default host port mappings for postgres and backend. Internal docker networking + nginx reverse proxy are sufficient. Closes upstream #20.
Full changelog: https://github.com/mikeknight85/PriceStalker/blob/main/CHANGELOG.md