Skip to content
View Yash-xoxo's full-sized avatar
πŸ’­
Nothing Much
πŸ’­
Nothing Much

Block or report Yash-xoxo

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Yash-xoxo/README.md

divider

🧰 Tech stack

gitΒ  vscodeΒ  python


Linux, Ubuntu, Debian, Bash, Docker, Terraform, Ansible
Jenkins, GitHub Actions, Git, GitHub, AWS, Cloudflare, Nginx
Python, JavaScript, MySQL, PostgreSQL, MongoDB, Supabase, Flask, VS Code


Proxmox VE Caddy SonarQube Portainer Netdata Dozzle VMware Incus
Area What I actually do with it
🐧 Linux & virtualisation Proxmox VE on VMware Workstation · users and permissions · networking · systemd services
🐳 Containers Multi-service Docker Compose stacks · networks · volumes · health checks · env management
🧱 Infrastructure as Code Terraform-provisioned VMs · Ansible playbooks for repeatable configuration
πŸ” CI/CD & quality Jenkins build β†’ test β†’ SonarQube pipelines Β· shell-based deploys Β· fixing broken credentials and SSH
☁️ Cloud & edge AWS EC2 · Cloudflare DNS · Caddy reverse proxy with automatic TLS
πŸ”­ Operations Netdata Β· Dozzle Β· Portainer Β· reading logs Β· tracking down CPU, memory, disk and DB problems

divider

βš™οΈ How I ship

Animated CI/CD pipeline: commit, build, test, scan, package, deploy, monitor

πŸ—ΊοΈ The full flow a DevOps engineer owns

From an idea in the backlog to a healthy service in production β€” and back again when something breaks. Bold arrows = the delivery path Β· thin arrows = the operations loop Β· dotted = private admin access.

%%{init: {"theme": "base", "flowchart": {"wrappingWidth": 400}, "themeVariables": {"primaryColor": "#161b22", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#30363d", "lineColor": "#8b949e", "clusterBkg": "#0d1117", "clusterBorder": "#30363d", "titleColor": "#e6edf3", "edgeLabelBackground": "#161b22", "tertiaryColor": "#0d1117"}}}%%
flowchart TB
    subgraph PLAN["🧭 1 · PLAN & CODE"]
        direction LR
        BACKLOG["πŸ“‹ Backlog<br/>issues Β· incidents Β· tech debt"] --> CODE["πŸ’» App code + IaC<br/>Dockerfile Β· Terraform Β· Ansible"] --> PR["πŸ”€ Pull request<br/>review Β· branch protection"]
    end

    subgraph CI["βš™οΈ 2 Β· BUILD & TEST"]
        direction LR
        BUILD["πŸ—οΈ Build<br/>Jenkins Β· GitHub Actions"] --> TEST["πŸ§ͺ Tests<br/>unit Β· integration"] --> SCAN["πŸ” SonarQube<br/>quality gate"] --> IMAGE["πŸ“¦ OCI image<br/>tagged with git SHA"] --> REG[("πŸ—„οΈ Zot<br/>private registry")]
    end

    subgraph REL["🧱 3 · PROVISION"]
        direction LR
        TF["🧱 Terraform apply<br/>Proxmox Β· Incus Β· EC2"] --> ANS["πŸ”§ Ansible<br/>harden Β· users Β· Docker"] --> DEPLOY["🚒 Deploy job<br/>compose pull + up<br/>secrets from OpenBao"]
    end

    subgraph RUN["πŸš€ 4 Β· PRODUCTION"]
        direction LR
        USERS(["🌍 Users"]) --> CF["☁️ Cloudflare<br/>DNS Β· WAF Β· CDN"] --> CADDY["πŸ”’ Caddy<br/>reverse proxy Β· auto-TLS"]
        CADDY --> APP1["πŸ–₯️ App host 1<br/>Docker Compose"]
        CADDY --> APP2["πŸ–₯️ App host 2<br/>Docker Compose"]
        APP1 --> DB[("🐘 Database")]
        APP2 --> DB
    end

    subgraph OBS["πŸ”­ 5 Β· OBSERVE"]
        direction LR
        METRICS["πŸ“ˆ VictoriaMetrics<br/>metrics"] --> GRAFANA["πŸ“Š Grafana<br/>dashboards Β· alert rules"]
        LOGS["πŸ“œ VictoriaLogs<br/>central logs"] --> GRAFANA
        GATUS["βœ… Gatus<br/>uptime Β· SSL expiry"]
    end

    subgraph PROTECT["πŸ›‘οΈ 6 Β· PROTECT"]
        direction LR
        BACKUP["πŸ’Ύ Portabase<br/>DB backups"] --> OFFSITE[("☁️ Off-site S3<br/>Garage")] --> DRILL["♻️ Restore drill<br/>prove backups work"]
        HC["⏰ Healthchecks<br/>missed-backup alarm"]
    end

    subgraph RESPOND["🚨 7 · ALERT & RESPOND"]
        direction LR
        APPRISE["πŸ“£ Apprise API"] --> CHANNELS["πŸ“± ntfy Β· Slack Β· Email"] --> ONCALL["πŸ§‘β€πŸš’ On-call DevOps"] --> RUNBOOK["πŸ“– Runbook<br/>rollback Β· scale Β· fix"] --> PM["πŸ“ Blameless<br/>post-mortem"] --> LOOP(["πŸ” New backlog issues<br/>back to step 1"])
    end

    subgraph ACCESS["πŸ” ADMIN ACCESS"]
        direction LR
        LAPTOP["πŸ’» Admin laptop"] -. WireGuard .-> VPN["πŸ•ΈοΈ NetBird<br/>zero-trust overlay"]
    end

    PLAN ==>|merge to main| CI
    CI ==>|image pushed to Zot| REL
    REL ==>|rolling deploy| RUN
    RUN -->|metrics Β· logs Β· probes| OBS
    RUN -->|nightly backups| PROTECT
    OBS -->|alert fires| RESPOND
    PROTECT -->|backup missed| RESPOND
    ACCESS -.->|SSH Β· dashboards Β· DB| RUN

    classDef plan stroke:#a371f7,stroke-width:2px
    classDef ci stroke:#58a6ff,stroke-width:2px
    classDef rel stroke:#d29922,stroke-width:2px
    classDef run stroke:#3fb950,stroke-width:2px
    classDef obs stroke:#39c5cf,stroke-width:2px
    classDef prot stroke:#f778ba,stroke-width:2px
    classDef resp stroke:#f85149,stroke-width:2px
    classDef acc stroke:#8b949e,stroke-width:2px
    class BACKLOG,CODE,PR plan
    class BUILD,TEST,SCAN,IMAGE,REG ci
    class TF,ANS,DEPLOY rel
    class USERS,CF,CADDY,APP1,APP2,DB run
    class METRICS,LOGS,GRAFANA,GATUS obs
    class BACKUP,OFFSITE,DRILL,HC prot
    class APPRISE,CHANNELS,ONCALL,RUNBOOK,PM,LOOP resp
    class LAPTOP,VPN acc
    style PLAN stroke:#a371f7,stroke-width:2px
    style CI stroke:#58a6ff,stroke-width:2px
    style REL stroke:#d29922,stroke-width:2px
    style RUN stroke:#3fb950,stroke-width:2px
    style OBS stroke:#39c5cf,stroke-width:2px
    style PROTECT stroke:#f778ba,stroke-width:2px
    style RESPOND stroke:#f85149,stroke-width:2px
    style ACCESS stroke:#8b949e,stroke-width:2px
Loading
πŸ”Ž Zoom in: reference architecture built from the underrated tools below
%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#161b22", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#3fb950", "lineColor": "#8b949e", "edgeLabelBackground": "#161b22"}}}%%
flowchart TD
    GH[GitHub] --> CI[Jenkins / CI pipeline]
    CI --> REG[Private OCI registry: Zot]
    REG --> EC1[Application host 1]
    REG --> EC2[Application host 2]
    EC1 --> LOG[Central log store: VictoriaLogs]
    EC2 --> LOG
    CI --> NOTIFY[Apprise API]
    EC1 --> NOTIFY
    EC2 --> NOTIFY
    DB[(Database server)] --> BACKUP[Portabase]
    EC1 --> BACKUP
    EC2 --> BACKUP
    LAPTOP[Admin laptop] -. private overlay .-> VPN[NetBird]
    VPN -. private access .-> EC1
    VPN -. private access .-> EC2
    VPN -. private access .-> LOG
    VPN -. private access .-> BACKUP
Loading

divider

πŸ—οΈ Featured projects

Python multi-cloud decision platform that simulates a production estate: incident blast radius, rollback priority, FinOps savings and compliance drift in one view.

Python FinOps

Jenkins pipeline that builds, tests and containerises a Python app β€” Dockerfile, automated tests and pipeline run screenshots.

Jenkins Docker Python

Travel site with a React frontend, a Node.js backend and MongoDB (seeded by an init script), wired together with Docker Compose.

Docker React Node.js MongoDB

Bash scripts for everyday automation β€” WHOIS summary reports for domains, plus terminal games written to practise scripting.

Bash

🧬 Kernalx

My first kernel, written in Assembly over two iterations β€” learning how a machine boots, from the metal up.

Assembly

Notes from my 2025 internship across DevOps, AI/ML and full-stack development.

Notes

divider

πŸ§ͺ Underrated tools every DevOps engineer should know

Circuit animation

Hand-picked from the 649 one-command installers in community-scripts/Incus (the same app scripts as the Proxmox VE Helper-Scripts, running on Incus). Skip the obvious ones (Grafana, Jenkins, GitLab) β€” these are the tools that quietly solve real problems.

⭐ If you only try five: Beszel · Gatus · Dagu · Pangolin · Backrest

# On an Incus host: replace <app> with the name in the "Script" column
# (read a script before you pipe it to bash)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/Incus/main/ct/<app>.sh)"

πŸ”­ Observability & monitoring β€” 9 tools
Tool Why it's worth a look Script
Beszel Lightweight server and Docker stats with alerts β€” a hub plus tiny agents instead of a full Prometheus stack beszel
Gatus Health checks as code: assert status, body, latency and cert expiry in YAML, and get a status page for free gatus
VictoriaMetrics Prometheus-compatible TSDB that needs far less RAM and disk β€” a drop-in remote-write target victoriametrics
VictoriaLogs Central logs without running ELK β€” fast LogsQL queries on modest hardware victorialogs
OpenObserve Logs, metrics and traces in one binary, stored cheaply on object storage openobserve
SigNoz OpenTelemetry-native APM β€” traces, metrics and logs in one UI; an open alternative to Datadog signoz
Healthchecks Dead-man's switch for cron jobs and backups β€” alerts you when something doesn't run healthchecks
PatchMon Shows which Linux hosts are missing updates and automates patching across the fleet patchmon
SmokePing Latency and packet-loss history that proves "it's the network" (or that it isn't) smokeping
πŸš€ CI/CD, Git & automation β€” 9 tools
Tool Why it's worth a look Script
Forgejo + Runner Self-hosted Git with a GitHub-Actions-compatible CI runner β€” own the whole pipeline forgejo Β· forgejo-runner
OneDev Git server, CI/CD and issue boards in one app, with a GUI pipeline editor onedev
Gitea Mirror Auto-syncs your GitHub repos to Gitea/Forgejo β€” a cheap off-GitHub backup of all your code gitea-mirror
Dagu Cron replacement: DAG workflows in YAML with retries, logs and a web UI dagu
xyOps The next generation of Cronicle: job scheduling, visual workflows, monitoring and incident response xyops
Semaphore UI Web UI for Ansible, Terraform/OpenTofu and scripts β€” RBAC, schedules and run history semaphore
Komodo Build and deploy Docker/Compose across many servers from one UI, synced from Git komodo
Zot Minimal OCI-native image registry with mirroring, signing and vulnerability-scanning extensions zot-registry
Dockge Compose-first stack manager β€” your compose.yaml files stay on disk, not locked in a database dockge
🌐 Networking, DNS & edge β€” 9 tools
Tool Why it's worth a look Script
Pangolin + Newt Self-hosted tunnelled reverse proxy with built-in auth β€” expose services without opening ports pangolin Β· newt
NetBird WireGuard mesh VPN with SSO and access policies β€” private admin access to every host netbird
Headscale Self-hosted Tailscale control server β€” keep the Tailscale clients, own the coordination headscale
Technitium DNS Recursive + authoritative DNS server with DoH/DoT, blocklists and a clean web UI technitiumdns
Blocky DNS proxy and ad-blocker configured in one YAML file, with Prometheus metrics blocky
Zoraxy Reverse proxy with a GUI: ACME certs, GeoIP blocking and a built-in uptime monitor zoraxy
GoDoxy High-performance reverse proxy that configures routes automatically from your Docker containers godoxy
Apt-Cacher NG Caches apt packages for the whole lab β€” faster provisioning and less bandwidth apt-cacher-ng
netboot.xyz PXE boot menu for dozens of OS installers and rescue tools over the network netboot-xyz
πŸ” Security, identity & secrets β€” 10 tools
Tool Why it's worth a look Script
OpenBao Open-source community fork of HashiCorp Vault β€” secrets, dynamic credentials and PKI openbao
Infisical Secrets manager that syncs environment variables into CI/CD, Docker and Kubernetes infisical
Pocket ID Passkey-only OIDC provider β€” simple SSO for all your self-hosted apps pocketid
Tinyauth Tiny auth server that puts a login in front of any app behind your reverse proxy tinyauth
LLDAP Lightweight LDAP with a web UI β€” a user directory without the OpenLDAP pain lldap
step-ca Private CA with an ACME server β€” real TLS (and SSH certificates) for internal services step-ca
CertMate Control plane for TLS certs: issue, renew, inventory and deploy β€” ready for 47-day certificates certmate
Teleport Identity-based SSH, Kubernetes and database access with session recording teleport
Wazuh Open-source SIEM/XDR: file-integrity monitoring, vulnerability detection and compliance wazuh
Yopass Share secrets through end-to-end encrypted, self-destructing links instead of chat yopass
πŸ› οΈ Developer & ops utilities β€” 10 tools
Tool Why it's worth a look Script
IT-Tools Dozens of handy utilities: JWT decoder, crontab generator, chmod and subnet calculators, converters alpine-it-tools
CyberChef The "cyber Swiss Army knife" β€” chain decode, parse, hash and decrypt operations in the browser cyberchef
OmniTools Self-hosted everyday tools for images, PDFs, text and JSON β€” no ads, no tracking omnitools
Mailpit Fake SMTP server with a web UI and API β€” test app and CI emails safely mailpit
WhoDB Lightweight database explorer for Postgres, MySQL, SQLite, MongoDB, Redis and more whodb
ChartDB Visualise a database schema from a single query β€” instant ER diagrams chartdb
Opengist Self-hosted, Git-backed gists for scripts and config snippets opengist
Termix Self-hosted, browser-based server management: SSH terminal, tunnels and file manager termix
Web-Check One-shot website analysis: DNS, TLS, headers, open ports, tech stack and more web-check
Gotenberg API that converts HTML, Markdown and Office documents to PDF β€” drop it into any pipeline gotenberg
πŸ’Ύ Storage & backups β€” 9 tools
Tool Why it's worth a look Script
Garage Lightweight, geo-distributed S3 storage built for small clusters and home labs garage
VersityGW Serves an existing filesystem over the S3 API β€” no data migration needed versitygw
SeaweedFS Fast distributed storage for billions of files, with S3, FUSE and WebDAV seaweedfs
Backrest Web UI and scheduler for restic β€” browse snapshots and restore with a click backrest
Zerobyte Backup automation for self-hosters, built on restic zerobyte
Portabase One place to back up and restore PostgreSQL, MySQL, MariaDB, MongoDB, Redis, SQLite and more portabase
Databasus PostgreSQL backups with point-in-time recovery and restore verification databasus
Borg UI Create, schedule and restore Borg backups from a web UI instead of long terminal commands borg-ui
Rclone "rsync for cloud storage" β€” sync, mount and encrypt across dozens of providers rclone
πŸ”” Notifications & watchers β€” 5 tools
Tool Why it's worth a look Script
Apprise API One HTTP API that fans out to 100+ notification services (Slack, Telegram, email, ntfy…) apprise-api
ntfy Push notifications from any script: curl -d "backup done" ntfy.sh/your-topic ntfy
Gotify Self-hosted push server with a REST API and an Android app gotify
Argus Watches for new software releases and fires webhooks β€” a great trigger for upgrade pipelines argus
Changedetection.io Watches web pages and APIs for changes β€” vendor status pages, pricing, docs changedetection
πŸ—ΊοΈ Infrastructure management & docs β€” 8 tools
Tool Why it's worth a look Script
NetBox Source of truth for IPs, racks, devices and circuits β€” feeds your automation netbox
Scanopy Network diagrams that update themselves scanopy
Homelable Interactive infrastructure diagram with live status monitoring homelable
Rackula Rack layout designer β€” plan the rack before you rack it rackula
Cockpit Web console for Linux servers: services, logs, storage, networking and updates cockpit
PegaProx Multi-cluster management for Proxmox VE and XCP-ng, with load balancing pegaprox
Fleet osquery-based visibility and device management for servers and laptops fleet
Docmost Collaborative wiki (a Confluence alternative) β€” the perfect home for runbooks docmost
πŸ€– AI-assisted ops β€” 3 tools
Tool Why it's worth a look Script
LiteLLM One OpenAI-compatible gateway to 100+ LLM providers, with keys, budgets and logging litellm
Ollama + Open WebUI Run local LLMs behind a ChatGPT-style UI β€” private AI for logs and docs ollama Β· openwebui
n8n Visual workflow automation with AI nodes β€” glue alerts, tickets and chat together n8n

Full catalogue with ready-made commands: community-scripts.org

divider

🀝 Connect

GitHub



Automate the repeatable Β· Observe the important Β· Keep improving

footer

Pinned Loading

  1. yash-main yash-main Public

    Here about myself

    HTML

  2. yash-search yash-search Public

    Hey There Beautiful............

    HTML 1