Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tjpalanca/tjcloud

TJ Palanca's Personal Cloud
https://github.com/tjpalanca/tjcloud

chromebooks cloud data-science docker kubernetes kubernetes-cluster rstudio terraform

Last synced: 3 months ago
JSON representation

TJ Palanca's Personal Cloud

Awesome Lists containing this project

README

        

# TJCloud

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

## Key Technologies

I’m leaning on the following core technologies:

- [Terraform](https://www.terraform.io) (and [Terraform
Cloud](https://app.terraform.io/) or [Github
Actions](https://github.com/features/actions)) for provisioning
infrastructure as code
- [Kubernetes](https://kubernetes.io) for orchestrating various
workloads
- [NGINX Ingress](https://kubernetes.github.io/ingress-nginx/) for
exposing web services to the web from the cluster
- [DigitalOcean](https://www.digitalocean.com/products/kubernetes) as my
main Kubernetes provider, while using block storage container storage
interface for persistent storage.
- [Cloudflare](https://www.cloudflare.com) for DNS, TLS, and origin
server protection.
- [Cloudflare
Access](https://www.cloudflare.com/products/zero-trust/access/) for
zero-trust access
- [GitHub Packages](https://github.com/features/packages) as my main
image registry.

### Previous Technologies

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

- [Linode](https://linode.com), due to an ominous acquisition by Akamai
and a price increase despite no feature parity with
[DigitalOcean](https://digitalocean.com) to which I have moved.
- [Linode Kubernetes
Engine](https://www.linode.com/products/kubernetes/), a simple,
developer-friendly, and inexpensive cloud provider for managed
Kubernetes, and
- [Linode Object
Storage](https://www.linode.com/products/object-storage/) for
storing data files
- Self-hosted stack for user management and authentication of itnernal
services, replaced by [Cloudflare
Access](https://www.cloudflare.com/products/zero-trust/access/)
- [Keycloak](https://www.keycloak.org) for identity and access
management
- [OAuth2 Proxy](https://oauth2-proxy.github.io/oauth2-proxy/) as main
gateway to protect private services
- Self-hosted stack for image building, replaced by [GitHub
Actions](https://actions.github.com)
- [Kaniko](https://github.com/GoogleContainerTools/kaniko) for
building images inside a Kubernetes cluster

## Applications

I host the following applications:

- my personal coding and writing environment from
[code-server](https://github.com/coder/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://\.\) 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](https://www.pgadmin.org), an excellent open source
administration console for PostgreSQL
- [Mastodon](https://joinmastodon.org) - my own personal Mastodon server
for interacting with the Fediverse (open source Twitter but less
annoying virality and more useful, insightful content)
- [FreshRSS](https://freshrss.org) - feed reading service, I read using
[Reeder](https://reederapp.com) on iOS and Mac.
- [Kill the Newsletter](https://github.com/leafac/kill-the-newsletter) -
A self-hosted, secure version of [Kill the
Newsletter](https://kill-the-newsletter.com) for managing newsletters
and feeding them into FreshRSS.
- [PostgreSQL](https://www.postgresql.org) for my main database
- [Clickhouse](https://clickhouse.com) as a requirement for Plausible
Analytics, storing clickstream data
- [Redis](https://redis.io) as a requirement for Mastodon, but also for
general caching in the development server
- [Plausible Analytics](https://plausible.io) for hosting
privacy-friendly website analytics
- the [Kubernetes Dashboard](https://github.com/kubernetes/dashboard)
for administering the cluster, and
[metrics-server](https://github.com/kubernetes-sigs/metrics-server)
for collecting data to present in the dashboard.