i built a self hosted manga server
I just could't find a good way to read manga the way I wanted, so I built one.
arrgh
a self-hosted manga manager built because browser tabs, download scripts, and folder chaos eventually became unbearable.
arrgh started from a pretty simple problem:
- too hard to find one single source with complete manga (I was a kiss manga user for years)
- too many ads and popups on the free sites
- and the general chaos of trying to keep up with manga across multiple sites manually
which, realistically, gets annoying very quickly once you start following more than a couple of series.
so instead of organizing my bookmarks like a normal person:
i built a self-hosted manga server.
what it is
arrgh is a self-hosted:
- manga manager
- downloader
- reader
- and multi-source aggregator
built for:
- homelabs
- nas setups
- raspberry pis
- mini pcs
- or basically any machine that’s already running 14 other containers in the corner somewhere.
it supports:
- manga
- manhwa
- manhua
- novels
- multi-user libraries
- offline downloads
- scheduled syncing
- and plugin-based sources.
because relying on a single source eventually breaks.
it always does.
the real goal
the main idea behind arrgh was:
make the system resilient and reliable compared to manual.
if one source fails:
- another source takes over
if chapters are missing:
- aggregation fills the gaps
if sites change:
- plugins can update independently (someday, I’ll find a way to make it more abstracted)
basically:
less babysitting, more reading.
plugins instead of hardcoding
one of the bigger decisions was making sources fully plugin-based.
not because:
“microservices are cool”
mostly because scraping sites are unstable by nature.
separating sources into plugins means:
- new sources can be added independently
- broken ones can be updated without redeploying everything
- and the core app doesn’t need constant rewrites every time a website changes its layout
which happens constantly.
plugins can also be written in any language, which makes the whole system a lot more flexible long-term.
the infrastructure problem
the funny thing about self-hosted projects is that they slowly become infrastructure.
you start with:
“i just want to read manga properly.”
then suddenly you’re dealing with:
- scheduled jobs
- storage management
- fallback systems
- browser automation
- cdp connections
- cloudflare bypasses
- user permissions
- and download pipelines
which honestly describes most software projects eventually.
tech stack
arrgh ended up becoming a weird mix of:
- rust
- axum
- sqlite
- react
- typescript
- tailwind
- node.js plugin hosting
- and stealth browser automation for cf-protected sources
which sounds slightly unhinged written out like this.
current state
still heavily in-progress.
which means:
- systems evolve constantly
- plugins break occasionally
- features get rewritten
- and “small improvements” sometimes become architectural changes
pretty normal for a long-running side project honestly.
why build this at all?
mostly because existing solutions never quite matched how i wanted things to work.
a lot of manga tools either:
- depend too heavily on single sources
- feel abandoned
- require weird workflows
- or become difficult to self-host cleanly
i wanted something that felt:
- modular
- resilient
- lightweight enough to run anywhere
- and fully mine.
which is usually how my side projects start.
what’s next
next steps are probably:
- more plugins
- smarter syncing
- improved reader experience
- metadata improvements
- better automation
- and trying very hard not to accidentally turn this into a very very complicated project
that last part’s becoming increasingly difficult though.