TJCloud
This is my personal cloud - for hobby programming, personal projects, and experiments.
Key Technologies
I’m leaning on the following core technologies:
- Terraform (and Terraform Cloud or Github Actions) for provisioning infrastructure as code
- Kubernetes for orchestrating various workloads
- NGINX Ingress for exposing web services to the web from the cluster
- DigitalOcean as my main Kubernetes provider, while using block storage container storage interface for persistent storage.
- Cloudflare for DNS, TLS, and origin server protection.
- Cloudflare Access for zero-trust access
- GitHub Packages as my main image registry.
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.
- Linode Kubernetes Engine, a simple, developer-friendly, and inexpensive cloud provider for managed Kubernetes, and
- Linode Object Storage for storing data files
- 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.
Metadata
Release files for tjcloud 3.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tjcloud-3.0.0.tar.gz | 4.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tjcloud-3.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.1 kB
Release files / tjcloud-3.0.0.tar.gz
| Download URL | tjcloud-3.0.0.tar.gz |
|---|---|
| Size | 4.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fad6ef317f4135017d601e95dce8f8640bdee0a47388e22c26f267518674d51a
|
|
BLAKE2b-256 checksum How to use checksums |
917f519fa98e6dbdd9b36801d3c7d7b6598f22b4c8e158e49d5b95f0be6dc7d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.2 CPython/3.11.1 Linux/5.18.0-0.deb11.4-amd64
|
Release files / tjcloud-3.0.0-py3-none-any.whl
| Download URL | tjcloud-3.0.0-py3-none-any.whl |
|---|---|
| Size | 4.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c8cd9cdee0737ebf2c56dd168d8ffa3143068101182536c822abfaefdb7ce75b
|
|
BLAKE2b-256 checksum How to use checksums |
0c05b253ccf9645d55242b22254e2f6175b37fb414344c89afd532e49a4563df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.2 CPython/3.11.1 Linux/5.18.0-0.deb11.4-amd64
|