text - restructure the specs into section and dl tags
This commit is contained in:
@@ -68,31 +68,54 @@
|
|||||||
There will be a 3 month announcement in advance, in accordance with the <a href="https://joinmastodon.org/covenant">Mastodon Server Covenant</a>.</p>
|
There will be a 3 month announcement in advance, in accordance with the <a href="https://joinmastodon.org/covenant">Mastodon Server Covenant</a>.</p>
|
||||||
<p><strong>Funding</strong> -
|
<p><strong>Funding</strong> -
|
||||||
Keyboard Mastodon is currently funded by the admin, for a cost of ~$40 - $45 per month. Donations may be opened in the future, but have not been set up at this time.</p>
|
Keyboard Mastodon is currently funded by the admin, for a cost of ~$40 - $45 per month. Donations may be opened in the future, but have not been set up at this time.</p>
|
||||||
|
|
||||||
|
<section>
|
||||||
<h1>The Dirty Technicals</h1>
|
<h1>The Dirty Technicals</h1>
|
||||||
<p>If you're not a mega-nerd, turn back now.</p>
|
<p>If you're not a mega-nerd, turn back now.</p>
|
||||||
<p>I warned you.</p>
|
<p>I warned you.</p>
|
||||||
<p>Keyboard Vagabond is run on a 3 node Kubernetes cluster running on 3x Arm VPSs hosted by NetCup in Amsterdam. I chose Amsterdam because I thought that Europe would be more centrally located for people who are traveling the world.</p>
|
<p>Keyboard Vagabond is run on a 3 node Kubernetes cluster running on 3x Arm VPSs hosted by NetCup in Amsterdam. I chose Amsterdam because I thought that Europe would be more centrally located for people who are traveling the world.</p>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
<h4>The Specs</h4>
|
<h4>The Specs</h4>
|
||||||
<p><strong>Servers</strong> - 3x 10 ARM vCPUs, 16GB Ram, 500GB (~50GB for Talos and the rest for Longhorn) storage running <a href="https://www.talos.dev">Talos</a> and Kubernetes.
|
<dl>
|
||||||
<p><strong>Storage</strong> - Longhorn ensures that there are at least 2 copies across the nodes.</p>
|
<dt><strong>Servers</strong></dt>
|
||||||
<p><strong>Backups and Content</strong> - Backups and content are stored in S3 storage hosted by BackBlaze with CloudFlare providing CDN. I've already run through disaster recovery and restored database backups from S3.</p>
|
<dd>3x 10 ARM vCPUs, 16GB Ram, 500GB (~50GB for Talos and the rest for Longhorn) storage running <a href="https://www.talos.dev">Talos</a> and Kubernetespan.</dd>
|
||||||
<p><strong>CDN</strong> - CloudFlare provides CDN and special rules have been set up to be sure that as much as possible is cached.</p>
|
<dt><strong>Storage</strong></dt>
|
||||||
<p><strong>Security</strong> - ports are closed off to the world and secured with CloudFlare tunnels and TailScale as the only means of access outside of website access.</p>
|
<dd>Longhorn ensures that there are at least 2 copies across the nodes.</dd>
|
||||||
<p><strong>Observability and Logging</strong> - OpenObserve dashboards and log aggregation.</p>
|
<dt><strong>Backups and Content</strong></dt>
|
||||||
<p><strong>Domain</strong> - domain is provided by CloudFlare</p>
|
<dd>Stored in S3 storage hosted by BackBlaze with CloudFlare providing CDN. I've already run through disaster recovery and restored database backups from S3.</dd>
|
||||||
<p><strong>Services</strong> - Typical arrangement for services is that web services get 2 instances and workers get 1 instance with autoscaling. Web pods scale horizontally and workers scale vertically, then horizontally.</p>
|
<dt><strong>CDN</strong></dt>
|
||||||
<p><strong>Source Code</strong> - If I get the source code to where I'm comfortable sharing, I'll post a link here. And if you're experienced in k8s, I'd always appreciate a review. :)</p>
|
<dd>CloudFlare provides CDN and special rules have been set up to be sure that as much as possible is cached.</dd>
|
||||||
<p><strong>Costs</strong><br />
|
<dt><strong>Security</strong></dt>
|
||||||
|
<dd>Ports are closed off to the world and secured with CloudFlare tunnels and TailScale as the only means of access outside of website access.</dd>
|
||||||
|
<dt><strong>Observability and Logging</strong></dt>
|
||||||
|
<dd>OpenObserve dashboards and log aggregation.</dd>
|
||||||
|
<dt><strong>Domain</strong></dt>
|
||||||
|
<dd>Domain is provided by CloudFlare</dd>
|
||||||
|
<dt><strong>Services</strong></dt>
|
||||||
|
<dd>Typical arrangement for services is that web services get 2 instances and workers get 1 instance with autoscaling. Web pods scale horizontally and workers scale vertically, then horizontally.</dd>
|
||||||
|
<dt><strong>Source Code</strong></dt>
|
||||||
|
<dd>If I get the source code to where I'm comfortable sharing, I'll post a link here. And if you're experienced in k8s, I'd always appreciate a review. :)</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<span><strong>Costs</strong></span><br />
|
||||||
|
|
||||||
|
<span>
|
||||||
VPS servers - 3x ~$13 / mth = $40/mth<br />
|
VPS servers - 3x ~$13 / mth = $40/mth<br />
|
||||||
Domain name - $12/year<br />
|
Domain name - $12/year<br />
|
||||||
Backblaze - $6/TB/mth = ~$2/mth<br />
|
Backblaze - $6/TB/mth = ~$2/mth<br />
|
||||||
Total: ~$45/mth</p>
|
Total: ~$45/mth
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer class="container">
|
<footer class="container">
|
||||||
<p>Contact: <a href="mailto:admin@keyboardvagabond.com">admin@keyboardvagabond.com</a>, any of the @sysadmin accounts on the instances</p>
|
<p>
|
||||||
<p></p>
|
<span>Contact: <a href="mailto:admin@keyboardvagabond.com">admin@keyboardvagabond.com</a>, any of the @sysadmin accounts on the instances</span></br>
|
||||||
<p>Copyright 2025 Keyboard Vagabond</p>
|
<span>Copyright 2025 Keyboard Vagabond</span>
|
||||||
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script src="scripts/bundle.js"></script>
|
<script src="scripts/bundle.js"></script>
|
||||||
|
|||||||
Reference in New Issue
Block a user