Areas we serve

Self-Hosted Fredy: European Apartment Alerts Without Portal Fatigue

Apartment hunting in a tight market is a part-time job: refresh ImmoScout, check Kleinanzeigen, compare the same flat on three portals, and lose the listing because you were in a meeting. Paid alert services help until you want your budget, commute addresses, and notification tokens living in someone else's cloud.

Fredy (orangecoding/fredy, ~1.6k GitHub stars, Node.js, Apache-2.0 with additional license terms) is a self-hosted real estate finder for Europe. It polls dozens of portals (ImmoScout24, Immowelt, Kleinanzeigen, WG-Gesucht, willhaben, Flatfox, idealista, and many more across Germany, Austria, Switzerland, Spain, Italy, Portugal, France, and Poland), deduplicates the same listing across sites, and pings you on Slack, Telegram, Discord, ntfy, email, Gotify, Mattermost, or a pile of other adapters the moment something new matches your job. The project site and README walk through a web UI on port 9998, financing checks, travel-time math, and scam hints.

What you get

  • Jobs and channels — paste portal search URLs into jobs, wire reusable notification channels once, and fan out every hit to every channel you care about.
  • Cross-portal deduplication — one message when the same flat appears on ImmoScout, Immowelt, and Kleinanzeigen, matched on space, rooms, and location rather than headline text.
  • Financing sanity check — enter income, costs, and savings; Fredy labels listings against rent and buy scenarios (including German-style buying costs and a rough 35% rule). Estimates, not bank advice.
  • Real commute times — routes from your addresses by transit, car, bike, or foot via community Transitous data, with filters like "public transit under 30 minutes."
  • Scam warnings — pattern-based rental fraud signals with your manual override always winning.
  • Market context — price per m² against local medians; documents you attach stay even when the portal pulls the ad.
  • MCP server — query listings from Claude, ChatGPT, or a local LLM if you want natural-language search over your own database.

Why self-host?

Fredy stores your searches, seen listings, affordability inputs, and notification credentials in SQLite on disks you control. That is nicer than emailing your net income to a random SaaS when you are stress-shopping flats in Berlin. You also choose poll intervals and "working hours" instead of accepting whatever throttling a hosted competitor imposes.

Fair warning on licensing: upstream ships under Apache-2.0 plus a Commons Clause and attribution rules. Self-hosting for yourself is explicitly allowed; selling Fredy or a product whose value is mostly Fredy is not. They describe it as source-available rather than OSI open source. Read the LICENSE before you white-label it for clients.

Optional anonymous telemetry pings adapter and provider types (not your secrets) unless you opt out. Proxy docs call out that datacenter VPS IPs often get blocked by portals, so a residential proxy in the target country may be required for reliable scraping, not because Fredy is heavy, but because landlords' sites hate cloud IP ranges.

Quick start

docker run -d --name fredy \
  --restart unless-stopped \
  -v fredy_conf:/conf \
  -v fredy_db:/db \
  -p 9998:9998 \
  ghcr.io/orangecoding/fredy:master

Open the UI, sign in with the default admin / admin (change that immediately), then define channels under Settings and jobs that pair portal URLs with those channels. Pin a release tag instead of :master if you want reproducible upgrades. Node 22+ works for manual installs; Unraid has a community app.

Put HTTPS and auth in front of 9998 on anything exposed beyond your LAN. The README documents reverse-proxy integration with Authelia, Authentik, oauth2-proxy, and similar if you do not want to rely on Fredy's own login alone.

Who it is for

Good fit: renters and buyers in European markets Fredy supports; couples coordinating on Telegram; expats who want ntfy on a phone without a German-language mailbox flood; homelabbers already running Docker with Apprise or Slack bots.

Skip it: if you are only hunting North American listings (Fredy is EU portal focused); if you refuse to touch residential proxies when portals block your VPS; if you need a mobile app from the App Store with zero server work.

Hosting it (including from Canada)

Most Canadian readers are not shopping for flats in Munich, but a CloudBox VPS in Canada is still a fine place to run Fredy if you are relocating to the EU and want searches humming 24/7 while you sleep in Edmonton. Latency to German portals is fine for polling jobs; reliability and disk backups matter more than geography. Snapshot the /db volume because that is your listing history, documents, and config.

If Fredy stops finding new ads, check execution settings and proxy documentation before you blame the app. Scraping rental sites is brittle by nature; upstream encourages issue reports with debug bundles when a search URL stops mapping.

Bottom line

Fredy is hobby-project energy done seriously: a full dashboard for the most annoying problem in urban life, with deduplication and commute math your group chat cannot replicate. Run it yourself, keep your housing budget off third-party databases, and let Telegram buzz you the second a flat appears.

Talk with Swift Host if you want a small VPS tuned for Docker workloads, TLS, and backup scope for apps like Fredy. We are in St. Albert and actually answer the phone.

Tags:
  • Fredy
  • Real Estate
  • Self-Hosted
  • Docker
  • Notifications

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.