Seanime: an anime and manga media server that scans messy libraries and streams torrents
Open-source media server with a web interface and desktop app for anime and manga.
At a glance
- What is it?
- Seanime is a Go server with a React web interface and an Electron desktop client that combines local library scanning, AniList list management, torrent search via extensions, and a manga reader. It is a single-maintainer project with a GPL-3.0 licence and a deliberately narrow scope.
- Who is it for?
- Adopt Seanime if your library is anime and manga, your files are badly named, and you want AniList, torrent search and a manga reader inside one server process. Skip it if you need a general-purpose media server, MyAnimeList or Trakt sync, or interface translations, because the README lists all three as not planned.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 11 days ago.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The problem Seanime targets: anime files that no general media server wants to parse
General media servers assume television naming conventions. Anime releases frequently do not follow them. Fansub groups ship episode numbers with version suffixes, absolute numbering that diverges from season numbering, batch folders, and specials that sit outside any season structure. A scanner built around S01E02 patterns has to be told what to do with those files, and the fallback is usually manual matching.
Seanime's README claims the opposite default. It advertises "fast and smart scanning of local files without strict naming conventions or folder structures". That single sentence is the project's reason to exist. Everything else in the feature list (AniList integration, a manga reader, torrent search, a desktop player) is adjacent functionality built around the assumption that the library is anime and manga rather than film and television.
The audience is correspondingly narrow. This is for someone who already keeps anime files on a disk, already tracks shows on AniList, and wants the two connected without renaming anything first. It is not for a household that wants one server for films, series and music. The README is explicit about the boundary: "This is a one-person project and may not meet every use case."
Server, web client and desktop app: how the pieces are split
The repository describes a Go server, a React frontend built with Rsbuild and Tanstack Router, and a separate Electron desktop client called Seanime Denshi. That is three build targets from one repository, plus the mobile side: Seanime Tenji, a companion app for iOS and Android, and a Mobile Server app that the README says can host a server directly on the device.
The split matters when you plan a deployment. The server is the component holding the library, the scanner, the torrent engine and the extension runtime. The web interface is served from it, so a browser on another machine can reach the same library. Denshi is the desktop client, and it bundles a libmpv-based player with SSA/ASS subtitle support and shaders, which a browser cannot match for typesetting-heavy anime subtitles. The README also lists external player support for MPV, VLC and MPC-HC on desktop, and mobile player handoff through intents or deep links to Outplayer or VLC.
So the data flow is: files stay on the server, the scanner indexes them, the client (browser, Denshi, or Tenji) requests a stream, and the server either direct-plays or transcodes on the fly. Torrent streaming inserts an extra stage, since the server is fetching pieces while the player consumes them. The README does not describe the transcoding pipeline or the streaming buffer strategy, so how smooth that is under a slow swarm is not something the supplied material answers.
Extensions are the load-bearing part, and the README treats them as third-party
Seanime's non-local features arrive through an in-app extension marketplace. The README lists extensions for online streaming, manga sources and torrent providers, plus a built-in torrent search engine that runs "via extensions". Downloads and streaming can be routed through qBittorrent, Transmission, Torbox, Real-Debrid, AllDebrid and Premiumize.
That architecture has a direct consequence the README states in its own warning block: the project "does not provide, host, or distribute any media content", and the extensions "are unaffiliated with Seanime and may be removed if they violated copyright laws". Read that as an operational fact rather than a legal formality. If your setup depends on one online streaming extension, that extension is not covered by the project's maintenance. It can disappear from the marketplace, and the feature you built your workflow around goes with it.
The debrid and torrent-client integrations are a different case, because they connect to services you hold accounts for. The distinction is worth keeping straight: a debrid integration is a client for your own account, while an online streaming extension is a source the project does not control. The README does not say how extensions are sandboxed or what permissions they receive, and that is one of the more important gaps in the documentation.
Getting a server running: install paths and what the README does not give you
The README's Get started section is a link to https://seanime.app/docs labelled "How to install Seanime". There are no install commands in the repository README itself, and no configuration keys are documented there either. Anyone writing a deployment guide from the README alone would be inventing it, so the honest answer is that installation instructions live on the documentation site and not in the repository front page.
What the README does specify is the build path. Building from source requires Node.js and Go, with the note that "Development and testing might require additional configuration", and a pointer to DEVELOPMENT_AND_BUILD.md in the repository. The tech stack confirms the toolchain: Go for the server, React with Rsbuild/Rspack and Tanstack Router for the frontend, Electron for Denshi. If you intend to run a modified build rather than a release binary, that file is the starting point, not the README.
The releases page is the other route. The most recent releases listed are v3.10.2 from 2026-07-23, v3.10.1 from 2026-07-17 and v3.10.0 from 2026-07-15. Two patch releases inside a week of the minor release suggests active bug-fixing at that point, though the README gives no changelog detail to confirm what changed.
The auto downloader and the schedule are where the opinionated design shows
Two features in the list are more than conveniences. The Auto Downloader tracks new episodes and downloads them with "customizable filters and advanced features (prioritization, scoring, delay, etc.)", and the Schedule tracks upcoming releases and missed episodes. Together they turn Seanime from a viewer into something closer to a subscription manager for a library you own.
Scoring and prioritisation imply that several candidate releases for the same episode can be ranked automatically. That is the right shape for anime, where a single episode may be available from several groups at different quality levels, and it is the kind of feature that general media servers do not attempt because their source material does not have this problem. The README does not document the scoring inputs, so whether the ranking matches your preferences is something you would have to determine by configuring it.
The Schedule depends on release data, which in practice comes from AniList and from extensions. Offline Mode is listed as a feature, so the library and manga remain accessible without a connection, but a schedule of upcoming episodes is inherently an online feature. The README does not describe how these two modes interact, and that is a gap rather than a contradiction.
Where Seanime is the wrong tool, by the project's own admission
The README has a Not planned section, and it is unusually useful. Built-in support for other trackers such as MyAnimeList, Trakt and SIMKL is not planned. Built-in support for other media players is not planned. Built-in localization is not planned.
The tracker decision is the one that will disqualify Seanime for a lot of people. If your watch history lives on MyAnimeList, there is no built-in path to it, and the README does not describe a plugin route to add one. The localization decision means the interface ships in whatever languages the maintainer has provided, and translations are not on the roadmap. The media player decision means you use the built-in libmpv player, the listed external players, or nothing.
There is a second limitation that follows from the licence and the project size. Seanime is GPL-3.0, and the README frames maintenance as sponsor-funded: "The maintenance of this project is made possible by the sponsors." A single-maintainer GPL project with a sponsor list of two named accounts is a real dependency risk for anyone building a long-lived setup on it. That is not a criticism of the work, but it is the correct way to read the release cadence.
Jellyfin as the alternative, and the actual difference in approach
Jellyfin is the obvious comparison point for a self-hosted media server, and the difference is not feature count. Jellyfin is a general media server: it models libraries of films, series, music and books, and its metadata comes from configured providers that match against naming conventions. Anime is a difficult case for it, which is why communities maintain naming guides and why plugins exist to improve matching.
Seanime inverts that. It is an anime and manga server first, and the scanner is designed around the assumption that names are unreliable. It then adds two things Jellyfin does not attempt: torrent search and streaming through extensions, and a manga reader in the same interface. If your library is anime plus manga and you already use AniList, Seanime's defaults line up with your data; with Jellyfin you would be configuring around its assumptions.
The trade-off runs the other way too. Jellyfin covers non-anime media, has a much larger contributor base, and offers clients across many platforms including televisions. Seanime's clients are the web interface, Denshi on Windows, Linux and macOS, and Tenji on iOS and Android. If you need a living-room client, the README does not list one. Picking between them is really a question of whether your library is exclusively anime and manga or not.
Maintenance cost, licence and what to verify before you commit
Seanime is GPL-3.0. If you run it for yourself, the licence is not something you need to act on. If you modify it and distribute the result, or offer it as a network service to others, GPL-3.0's source-availability terms apply, and that is a question for a lawyer rather than for this article. The repository README does not add any licensing exceptions or clarifications.
Upgrade cost is shaped by the release pattern rather than by a migration guide. The listed releases move in small increments, v3.10.0 to v3.10.1 to v3.10.2 within roughly a week, which is a normal patch cadence for a project this size. The README does not document database migrations, config compatibility between versions, or a rollback path, so if you run a persistent library the thing to check before upgrading is whether the documentation site covers backup and restore. The repository front page does not.
Three things are worth confirming before you install. First, whether the extensions you need for online streaming or torrent search exist and are currently listed, since the README says they can be removed. Second, whether the mobile server app on iOS or Android is a setup you want, given that Tenji can either connect to an existing server or host one on the device. Third, whether your library's oddities actually scan correctly, because the claim about tolerating loose naming conventions is the feature everything else depends on and the README offers no detail on how the scanner resolves ambiguous cases.
Editorial conclusion
Adopt Seanime if your library is anime and manga, your files are badly named, and you want AniList, torrent search and a manga reader inside one server process. Skip it if you need a general-purpose media server, MyAnimeList or Trakt sync, or interface translations, because the README lists all three as not planned. Before installing, verify which extensions you would actually rely on for online streaming and torrent search, and read the copyright policy page, since the project states it hosts no content and that extensions are unaffiliated and can be removed.
Community notes