"Elf-Disclosure" for Jan 2024
We're 6-months old now, and here's our first report from 2024!
January saw us pivot away from "traditional" seedbox hosting and towards the exciting debrid-based "infinite streaming" space. You'll notice that while hardware costs remained mostly stable (this will not be true in February, I'm afraid!), development costs (our most costly expense!) doubled, as we introduced a slew of new apps and guides to capitalize on this increased interest.
To get started, here are some shiny stats for Jan 2024, followed by a summary of some of the user-facing changes announced this month in the blog...
Stats
Focus | Nov 2023 | Dec 2023 | Jan 2024 |
Cluster | $428 | $1330 | $1400 |
Store | $56 | $56 | $56 |
CI | $100 | $100 | $100 |
Cloud | $20 | $20 | $20 |
Development | 30h / $5,500 | 45h / $6,750 | 90h / $13,500 |
OSS Sponsorship | - | - | $154 |
Total Expenses | $6,104 | $8,256 | $15,230 |
Income | $229 | $505 | $665 |
Income % of expenses | 3.75% | 6.1% | 4.36% |
Focus | Nov 2023 | Dec 2023 | Jan 2024 |
Subscribers | 86 | 124 | 183 |
Ingress | 20TB | 22TB | 65TB |
Egress | 120TB | 70TB | 23TB |
Pods | 794 | 1002 | 2211 |
Focus | Nov 2023 | Dec 2023 | Jan 2024 |
Unique visitors | 4.9K | 5K | 6.9K |
Total pageviews | 15.5K | 18.6K | 25.9K |
Discord members | 162 | 199 | 320 |
Focus | Nov 2023 | Dec 2023 | Jan 2024 |
Total invested thus far | $65,069 | $71,819 | $87,049 |
Total revenue | $900 | $1,405 | $2,070 |
Income % of total invested | 1.38% | 1.96% | 2.38% |
Resources
Most apps consume almost no CPU while idle - the larger consumers are streamers doing transcoding, and download clients doing download/unpack operations.
CPU usage once again roughly doubled from last month as graphed, and you'll notice less "big consumers" of CPU, but more density of different colors in this month's graph. Partly that's due to the decomissioning of Tdarr, which ended up being too much of a "noisy neighbor" for the value it was adding.
Last month (Dec 2023)'s for comparison:
This graph represents memory usage across the entire cluster. By far the largest consumers of RAM is rook-ceph, since ceph will basically take all the RAM you give it, for caching / performance.
Ignoring ceph though, RAM usage has nearly doubled from ~90GB to ~180GB, likely accounted for by the sheer volume of new pods and apps running since last month.
Last month (Dec 2023)'s for comparison:
I'm not sure these stats are accurate, they've likely overly high because pods on the host network (like metallb, ceph, etc) will end up counting all traffic on each host, rather than the pod itself. This is exacerbated with more and more storage nodes, which run in `hostNetwork`` mode. However, the graph still gives a good indication of network usage compared to the previous month.
These samples are fairly useless for trending, since they're taken over a 1h period, because I haven't worked out how to do an efficient Prometheus query of all the metrics required to graph a longer period!
Last month (Dec 2023)'s for comparison:
These are the traffic stats for egress from Hetzner. They exclude any traffic to/from Hetzner Storageboxes.
As usual, we see more ingress than egress, mostly on the orcs (torrent clients) and giants (debrid). Giants are 10Gbps nodes which are only used for downloading, since upload is not unlimited on 10Gbps nodes.
We wouldn't see the resulting network traffic to ElfStorage or Storageboxes though, since this traffic is not counted as being "external".
In December's report, I noted:
One point to note is how under-utilized the dwarves (storage nodes) are, WRT internet traffic. In Jan 2024, we've started experimenting with moving high-throughput, low-resource applications (i.e. RDTClient) onto these nodes to take advantage of the unused capacity.
It turns out that caused unpredictable storage failures / latency issues, and so we've abandoned this plan. Storage nodes are just for... storage.
Last month (Dec 2023)'s for comparison:
Ceph provides our own storage ("[ElfStorage][elfstorage]"), typically used for long-term slow storage and seeding, and although traditional torrenting hasn't been our focus in Jan, we've still seeing the same ~100% growth on storage volumes that we saw in December.
Last month (Nov 2023)'s for comparison:
What's new?
Elf-vengers established
Along with the debrid-driven increase in users (below) came an increase in support overhead, and consequent expense - Several users have informally offered to help in the past, so I've established a free-Elfbuckz-funded "learning track" for users wanting to help, as described in this blog post, graduating these users to "Elf-Vengers", able to step in and help support our growing community.
Debrid, debrid everywhere!
So I was late to the real-debrid thing, but it's such a good fit for us - a proper setup requires a little more know-how than your average torrent client + Aar stack (so there are more technically-minded users fed up with trying to make it work at home), the symlink design doesn't require any storage space (so no I/O load on Ceph), and the use of rclone ties in beautifully with the existing mechanisms we've built for BYO storage.
In a nutshell, ElfHosted Debrid!
During January, we deployed the following apps:
- plex-debrid, the original "glue" for a Plex+Zurg+rclone+watchlist solution.
- zurg, clever "middleware" which allows for mounting of real-debrid libraries via rclone.
- [iceberg][iceberg], a WIP, alpha-stage rewrite of plex-debrid, which does all the same magic, but with a beautiful GUI instead of a janky terminal-in-browser-window"
We also established the following guides, to help direct new users to the specific app bundle / configuration to scratch their own itch:
Infinite Streaming with Stremio and Debrid
Infinite Streaming with Plex
Advanced Infinite Streaming with Plex / Jellyfin / Emby
Kubernetes Dashboard
Again, in an attempt to offload some of the support overhead, we added a free instance of Kubernetes Dashboard to all users. Users can use the dashboard to see their apps' CPU/RAM usage, logs, and even trigger restarts (more geeky than ElfBot).
Dashboard has been more popular than expected, with many users simply enjoying the ability to get closer to the mechanics of their apps and explore Kubernetes from a position of safety :)
In time, we should be able to use Kubernetes Dashboard to allow users to more easily customize the environment variables for their apps too!
Being aware of how much the increasing growth of our platform relies on the work of open-source devs, I established page, documenting our current sponsorship efforts and detailing which projects I personally sponsor.
Every app we use whose developer has published sponsorship links now includes direct sponsorship links on their app documentation pages, encouraging users to donate to the developers of the apps they benefit from.
"Vanity" domains for Seerrs
We now support custom CNAMEs and UI branding for your Overseerr / Jellyseerr instances - see this blog post for details!
How to help
If you'd like to make a donation in recognition of our infrastructure costs, our open-source resources, or our friendly support, a simple donation product is available at https://store.elfhosted.com/product/elf-love/
Another effective way to help is to drive traffic / organic discovery, by mentioning ElfHosted in appropriate forums such as Reddit's r/selfhosted, r/seedboxes, r/realdebrid, and r/StremioAddons, which is where much of our target audience is to be found!
What's coming up?
More Debrid action
On 1 February, I announced our free alternative to torrentio, which has driven significant interest and attention in the past week. It's only a week old, so I'll cover this in further detail in next month's report.
Surfacing of non-mainstream apps
Every time I review our apps list, I notice apps that are not getting much attention, since they're not the mainstream "bread and butter" media / downloading apps. Some very useful apps like Notifiarr, RPBD, OpenBooks, etc, aren't often purchased, and I wonder if it's because they're not well-known enough.
I've been thinking about how to "showcase" these apps, and have considered options like a detailed "app of the week" post, or an automate sequence of emails for new users, showcasing less well-known apps and ElfHosted features.
(Nothing happened with this during December, but it's still on the radar)
Offering free demos
Nothing gets my attention on a new app like a live demo. I've considered reaching out to open source projects who don't have their own online demo, and offering to host a self-resetting demo for them.
This would provide their potential users the opportunity to evaluate the app "live", and would also drive more traffic / recognition / SEO juice towards ElfHosted.
If you've got an open-source, self-hosted app and you'd like a free demo instance hosted, hit me up!
(We are currently donating torrent hosting to https://freerainbowtables.com)
Your ideas?
Got ideas for improvements? I'd love to hear them, post them in #elf-suggestions!
Join us!
Want to get involved?
Want to get involved? Join us in Discord and come and test-in-production!