{"id":15292467,"url":"https://github.com/tjpalanca/tjcloud","last_synced_at":"2025-04-13T11:12:11.792Z","repository":{"id":52251487,"uuid":"255776824","full_name":"tjpalanca/tjcloud","owner":"tjpalanca","description":"TJ Palanca's Personal Cloud","archived":false,"fork":false,"pushed_at":"2023-08-14T23:13:49.000Z","size":28491,"stargazers_count":5,"open_issues_count":10,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T11:12:02.922Z","etag":null,"topics":["chromebooks","cloud","data-science","docker","kubernetes","kubernetes-cluster","rstudio","terraform"],"latest_commit_sha":null,"homepage":"http://github.tjpalanca.com/tjcloud/","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tjpalanca.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-15T01:55:51.000Z","updated_at":"2024-09-11T14:25:53.000Z","dependencies_parsed_at":"2024-09-30T16:18:11.559Z","dependency_job_id":"72ff8cda-76cd-430b-a3b8-00dd56c9d644","html_url":"https://github.com/tjpalanca/tjcloud","commit_stats":{"total_commits":89,"total_committers":2,"mean_commits":44.5,"dds":0.1123595505617978,"last_synced_commit":"46fe998da62c77d31c71db8dfaba757cfe54b4cb"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjpalanca%2Ftjcloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjpalanca%2Ftjcloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjpalanca%2Ftjcloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjpalanca%2Ftjcloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tjpalanca","download_url":"https://codeload.github.com/tjpalanca/tjcloud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248703198,"owners_count":21148118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chromebooks","cloud","data-science","docker","kubernetes","kubernetes-cluster","rstudio","terraform"],"created_at":"2024-09-30T16:18:03.591Z","updated_at":"2025-04-13T11:12:11.770Z","avatar_url":"https://github.com/tjpalanca.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TJCloud\n\n\u003c!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! --\u003e\n\n\u003e This is my personal cloud - for hobby programming, personal projects,\n\u003e and experiments.\n\n## Key Technologies\n\nI’m leaning on the following core technologies:\n\n- [Terraform](https://www.terraform.io) (and [Terraform\n  Cloud](https://app.terraform.io/) or [Github\n  Actions](https://github.com/features/actions)) for provisioning\n  infrastructure as code\n- [Kubernetes](https://kubernetes.io) for orchestrating various\n  workloads\n- [NGINX Ingress](https://kubernetes.github.io/ingress-nginx/) for\n  exposing web services to the web from the cluster\n- [DigitalOcean](https://www.digitalocean.com/products/kubernetes) as my\n  main Kubernetes provider, while using block storage container storage\n  interface for persistent storage.\n- [Cloudflare](https://www.cloudflare.com) for DNS, TLS, and origin\n  server protection.\n- [Cloudflare\n  Access](https://www.cloudflare.com/products/zero-trust/access/) for\n  zero-trust access\n- [GitHub Packages](https://github.com/features/packages) as my main\n  image registry.\n\n### Previous Technologies\n\nThese are tech that I’ve retired from my personal cloud:\n\n- [Linode](https://linode.com), due to an ominous acquisition by Akamai\n  and a price increase despite no feature parity with\n  [DigitalOcean](https://digitalocean.com) to which I have moved.\n  - [Linode Kubernetes\n    Engine](https://www.linode.com/products/kubernetes/), a simple,\n    developer-friendly, and inexpensive cloud provider for managed\n    Kubernetes, and\n  - [Linode Object\n    Storage](https://www.linode.com/products/object-storage/) for\n    storing data files\n- Self-hosted stack for user management and authentication of itnernal\n  services, replaced by [Cloudflare\n  Access](https://www.cloudflare.com/products/zero-trust/access/)\n  - [Keycloak](https://www.keycloak.org) for identity and access\n    management\n  - [OAuth2 Proxy](https://oauth2-proxy.github.io/oauth2-proxy/) as main\n    gateway to protect private services\n- Self-hosted stack for image building, replaced by [GitHub\n  Actions](https://actions.github.com)\n  - [Kaniko](https://github.com/GoogleContainerTools/kaniko) for\n    building images inside a Kubernetes cluster\n\n## Applications\n\nI host the following applications:\n\n- my personal coding and writing environment from\n  [code-server](https://github.com/coder/code-server) that allows me to\n  develop on the cloud, with any device (including iPads and\n  chromebooks!). Some additional mods features are:\n  - Protected domains (https://\\\u003cport\\\u003e.\\\u003cdomain\\\u003e) to test web apps\n    running on the server or for exposing environments like Jupyter or\n    Pluto\n  - Custom web fonts through an NGINX sub_filter\n  - Python, Julia, JS, and R installations for the confused data person\n\n### Disabled Applications\n\nThe code is still in the repo, but is no longer in active use:\n\n- [PGAdmin](https://www.pgadmin.org), an excellent open source\n  administration console for PostgreSQL\n- [Mastodon](https://joinmastodon.org) - my own personal Mastodon server\n  for interacting with the Fediverse (open source Twitter but less\n  annoying virality and more useful, insightful content)\n- [FreshRSS](https://freshrss.org) - feed reading service, I read using\n  [Reeder](https://reederapp.com) on iOS and Mac.\n- [Kill the Newsletter](https://github.com/leafac/kill-the-newsletter) -\n  A self-hosted, secure version of [Kill the\n  Newsletter](https://kill-the-newsletter.com) for managing newsletters\n  and feeding them into FreshRSS.\n- [PostgreSQL](https://www.postgresql.org) for my main database\n- [Clickhouse](https://clickhouse.com) as a requirement for Plausible\n  Analytics, storing clickstream data\n- [Redis](https://redis.io) as a requirement for Mastodon, but also for\n  general caching in the development server\n- [Plausible Analytics](https://plausible.io) for hosting\n  privacy-friendly website analytics\n- the [Kubernetes Dashboard](https://github.com/kubernetes/dashboard)\n  for administering the cluster, and\n  [metrics-server](https://github.com/kubernetes-sigs/metrics-server)\n  for collecting data to present in the dashboard.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjpalanca%2Ftjcloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftjpalanca%2Ftjcloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjpalanca%2Ftjcloud/lists"}