1
0
mirror of https://github.com/funkypenguin/geek-cookbook/ synced 2025-12-13 01:36:23 +00:00
Files
geek-cookbook/docs/blog/posts/notes/elfhosted/elfhosted-status-update-june-2023.md
David Young 0a992f2cec Publish elf-disclosure for June 2023
Signed-off-by: David Young <davidy@funkypenguin.co.nz>
2023-07-08 10:52:31 +12:00

5.0 KiB

date, categories, tags, title, description
date categories tags title description
2023-07-08
note
elfhosted
Elf-Disclosure / June 2023 Recent changes, stats, and plans for ElfHosted from June 2023

"Elf-Disclosure" for June 2023

It's been a month since [ElfHosted][elfhosted] was born! 👶

I've worked way more than I expected, and the work has been harder than I expected, but I've immensely enjoyed the challenge of building something fast and in public.

What follows here are our recent changes, the current stats - time/money spent, revenue (haha), and lots of data / graphs re the current state of the platform.

--8<-- "what-is-elfhosted.md"

!!! warning "This post may not format nicely via RSS" To make the amount of data presented below easier to parse, I've used mkdocs-material content tables to format / display data. This will probably not look good in a feed reader, so if what follows looks like a huge mess, view it in your browser instead!

What's new/next?

=== ":material-calendar: June 2023"

Here's what we achieved in June 2023 (*not an exhaustive list, there's only so much space!*):

* [x] [Prod website][elfhosted] based on (*you guessed it!*) mkdocs-material (*look familiar?*)
* [x] HA, fault-tolerant K3s Kubernetes cluster (*3 servers, 3 agents, 3 ceph nodes*)
* [x] Dedicated CI environment for pre-testing infrastructure changes
* [x] BYO storage / VPN fully self-service when purchasing via the [store][elfhosted/store]
* [x] All previously supported Seedplicity [apps][elfhosted/apps] available [^5]
* [x] CLI tool (*[ElfBot][elfhosted/elfbot]*) for self-service app restarts, backups, resets

=== "🎯 July 2023"

Here's what's on the short-list for prioritization next:

* [ ] Bring BYOVPN config to Deluge and ruTorrent
* [ ] Add new apps to support Premiumize
* [ ] Migrate to prod store, make bundles easier to manage
* [ ] Regular daily maintenance period for app updates / maintenance
* [ ] Load test with more users!

Stats

Here's our stats, updated for June 2023:

=== "💰 Spent"

:material-target: Focus | :material-calendar: June 2023 
---------|----------
:material-cow: Cluster | $428
:material-cart: Store | $632 [^1]
:material-test-tube: CI | $208 
:material-cloud-cog: Cloud | $30 
:material-clock: Development | 146h / $21,900 [^2]

=== ":nerd: Tech stats"

:material-target: Focus | :material-calendar: June 2023 
---------|----------
:fontawesome-regular-circle-user: Users | 14
:octicons-sign-in-16: Ingress | 24TB
:octicons-sign-out-16: Egress | 1TB [^4]
:material-dolphin: Pods | 478

=== "📊 Summary"

:material-target: Focus | :material-calendar: June 2023 
---------|---------- 
:material-trending-down: Total invested thus far | $23,200 [^6]
:material-trending-up: Revenue | $0 

Resources

=== ":material-cpu-64-bit: CPU"

Most apps consume almost no CPU while idle - the larger consumers are streamers doing transcoding, and download clients doing download/unpack operations:

![CPU stats for June 2023](/images/blog/elf-cpu-stats-june-2023.png)

=== ":material-memory: RAM"

This graph represents memory usage across the entire cluster. By far the largest consumers of RAM are the storage platforms (longhorn and ceph):

![Memory stats for June 2023](/images/blog/elf-memory-stats-june-2023.png)

=== ":material-server-network: Network"

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 an outstanding issue to fix!

![Memory stats for June 2023](/images/blog/elf-network-stats-june-2023.png)

=== ":octicons-graph-16: Ingress/Egress"

These are the traffic stats for egress from Hetzner. They exclude any traffic to/from Hetzner Storageboxes:

![Traffic stats for June 2023](/images/blog/elf-traffic-stats-june-2023.png)

=== ":fontawesome-solid-cow: Longhorn"

Longhorn provides RWX volumes for `/config`, and for some infrastructure components like Prometheus, Chartmuseum, etc.

![Longhorn stats for June 2023](/images/blog/elf-longhorn-stats-june-2023.png)

=== ":simple-ceph: Ceph"

Ceph provides optional storage ("ElfStorage"), typically used for long-term slow storage and seeding:

![Ceph stats for June 2023](/images/blog/elf-ceph-stats-june-2023.png)

Join us!

!!! tip "Want to get involved?"

Want to get involved? Join us in [Discord][elfhosted/discord] and come and test-in-production!

--8<-- "blog-footer.md"