# Maloja

Scrobbles you host. Maloja is GPL-3.0 — Last.fm without the hosted charts seat.

**Replaces:** Last.fm

**Tier:** Easy

## Problem

Last.fm is a hosted scrobble diary and social graph. You wanted plays, charts, and a history you can export. Maloja is GPL-3.0 (krateng/maloja; last push 17 Oct 2026). Navidrome is the music library — already on /replace/spotify — not a Last.fm chart box. This is not Last.fm Pro, radio, or the old neighbour graph. You still own the scrobble files.

## Stack

- [Maloja](https://maloja.krateng.ch) — GPL-3.0 scrobble database and charts — the published Last.fm path

## Estimated SaaS cost saved

| You stop paying | Typical / year | Self-host instead |
|---|---:|---|
| Last.fm / hosted scrobbles (household) | $1,200 | Maloja + a volume |

**About $1,200 / year** on a small team, before you count lock-in.

## Deploy on Railway

Placeholder: Maloja plus a volume for the scrobble database as the project docs require. Bind HTTP to 0.0.0.0:$PORT. No one-click template in this repo yet — Start on Railway. A music library stays on /stacks/navidrome-music.

[Start on Railway](https://c17.io/go/railway/maloja-scrobble?from=%2Fstacks%2Fmaloja-scrobble.md)

[Navidrome if this is a music library, not scrobble charts](https://c17.io/stacks/navidrome-music)

## AGENT_PROMPT

```
Replace Last.fm with Maloja (https://maloja.krateng.ch).

- Official image. Persist the scrobble database. Submit one scrobble. Do not claim Last.fm radio or neighbours.
- Navidrome if the job is a music library — /stacks/navidrome-music.
- Write AGENT_PROMPT.md.
```

## FAQ

### Maloja or Navidrome?

Maloja if the product is charts from scrobbles (the published Last.fm path). Navidrome if the product is files you play — /replace/spotify.

### Is this Spotify?

No. A music library stays on /replace/spotify. This page is a scrobble diary.

### Are these free?

Maloja is GPL-3.0. You pay hosting. Template users never pay c17.

Source: https://c17.io/stacks/maloja-scrobble
