TJCloud

This is my personal cloud - for hobby programming, personal projects, and experiments.

Key Technologies

I’m leaning on the following core technologies:

Previous Technologies

These are tech that I’ve retired from my personal cloud:

  • Linode, due to an ominous acquisition by Akamai and a price increase despite no feature parity with DigitalOcean to which I have moved.
  • Self-hosted stack for user management and authentication of itnernal services, replaced by Cloudflare Access
    • Keycloak for identity and access management
    • OAuth2 Proxy as main gateway to protect private services
  • Self-hosted stack for image building, replaced by GitHub Actions
    • Kaniko for building images inside a Kubernetes cluster

Applications

I host the following applications:

  • my personal coding and writing environment from code-server that allows me to develop on the cloud, with any device (including iPads and chromebooks!). Some additional mods features are:
    • Protected domains (https://<port>.<domain>) to test web apps running on the server or for exposing environments like Jupyter or Pluto
    • Custom web fonts through an NGINX sub_filter
    • Python, Julia, JS, and R installations for the confused data person

Disabled Applications

The code is still in the repo, but is no longer in active use:

  • PGAdmin, an excellent open source administration console for PostgreSQL
  • Mastodon - my own personal Mastodon server for interacting with the Fediverse (open source Twitter but less annoying virality and more useful, insightful content)
  • FreshRSS - feed reading service, I read using Reeder on iOS and Mac.
  • Kill the Newsletter - A self-hosted, secure version of Kill the Newsletter for managing newsletters and feeding them into FreshRSS.
  • PostgreSQL for my main database
  • Clickhouse as a requirement for Plausible Analytics, storing clickstream data
  • Redis as a requirement for Mastodon, but also for general caching in the development server
  • Plausible Analytics for hosting privacy-friendly website analytics
  • the Kubernetes Dashboard for administering the cluster, and metrics-server for collecting data to present in the dashboard.