{"id":51468635,"url":"https://github.com/gperdrizet/homelab","last_synced_at":"2026-07-06T14:30:31.767Z","repository":{"id":364113109,"uuid":"1266306118","full_name":"gperdrizet/homelab","owner":"gperdrizet","description":"Infrastructure documentation and system adminstration resources","archived":false,"fork":false,"pushed_at":"2026-06-30T15:09:39.000Z","size":4698,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-30T16:28:57.877Z","etag":null,"topics":["devops","homelab","linux","system-administration"],"latest_commit_sha":null,"homepage":"https://gperdrizet.github.io/homelab/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gperdrizet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-11T13:52:33.000Z","updated_at":"2026-06-30T15:10:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gperdrizet/homelab","commit_stats":null,"previous_names":["gperdrizet/homelab"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gperdrizet/homelab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gperdrizet%2Fhomelab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gperdrizet%2Fhomelab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gperdrizet%2Fhomelab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gperdrizet%2Fhomelab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gperdrizet","download_url":"https://codeload.github.com/gperdrizet/homelab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gperdrizet%2Fhomelab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35195590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["devops","homelab","linux","system-administration"],"created_at":"2026-07-06T14:30:30.652Z","updated_at":"2026-07-06T14:30:31.696Z","avatar_url":"https://github.com/gperdrizet.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# homelab\n\n[![Publish to GitHub Pages](https://github.com/gperdrizet/homelab/actions/workflows/publish.yml/badge.svg)](https://github.com/gperdrizet/homelab/actions/workflows/publish.yml)\n\nDocumentation, configuration, and runbooks for the gperdrizet personal computing infrastructure.\n\nMost content here is intentionally public: setup guides, deployment patterns, and operational\nnotes that may be useful to others (including AI/ML bootcamp students).\n\n**Secrets are never committed to this repo.** See [docs/secrets/README.md](docs/secrets/README.md) for\nhow credentials and API keys are managed.\n\n## Documentation site\n\nThis repo publishes a static documentation site with MkDocs Material.\n\n- Site config: [mkdocs.yml](mkdocs.yml)\n- Docs content: [docs/](docs/)\n- Publish workflow: [.github/workflows/publish.yml](.github/workflows/publish.yml)\n\n### Local preview\n\n```bash\npip install mkdocs-material\nmkdocs serve\n```\n\n### Deployment\n\nPushing to `main` triggers the publish workflow, which runs `mkdocs gh-deploy --force` and updates the `gh-pages` branch used by GitHub Pages.\n\n---\n\n## Machines\n\n| Machine    | Role                                    | Location       | Status  |\n|------------|-----------------------------------------|----------------|---------|\n| [gatekeeper](docs/machines/gatekeeper/) | VPS: public-facing services, reverse proxy, monitoring | Ionos cloud (74.208.107.78) | Active |\n| [pyrite](docs/machines/pyrite/)     | Desktop: primary dev and compute machine | Home office    | Active  |\n| [arkk](docs/machines/arkk/)       | NAS: RAID storage server, NFS          | Home office    | Recovering |\n\n## Core services on pyrite\n\nThese are the primary services hosted on pyrite for the broader homelab stack.\nSee [docs/machines/pyrite/services/README.md](docs/machines/pyrite/services/README.md) for full details.\n\n| Service | Port | Access path | Notes |\n|---------|------|-------------|-------|\n| llama.cpp | 8502 | Tailscale from gatekeeper | Inference backend for model-gateway |\n| PostgreSQL | 5432 | Public via gatekeeper TCP stream proxy on 54321 | Primary remote database service |\n| nixx | 8000 | Reverse proxied at nixx.perdrizet.org via gatekeeper | Personal assistant and memory system |\n\n## Network\n\nSee [docs/network/](docs/network/) for topology, Tailscale/Headscale config, and the local LAN layout\nincluding the bonded pyrite↔arkk connection.\n\n## Secrets\n\nSee [docs/secrets/](docs/secrets/): Vaultwarden (self-hosted Bitwarden) for passwords and credentials,\n`.env.template` pattern for per-project infrastructure secrets.\n\n## Backups\n\nSee [docs/backups/](docs/backups/): restic-based backup strategy targeting arkk RAID array.\n\n## External repos (hosted on this infrastructure)\n\nThese repos live on GitHub independently but are documented here as part of the homelab stack:\n\n| Repo | Description |\n|------|-------------|\n| [gperdrizet/llama.cpp](https://github.com/gperdrizet/llama.cpp) | llama.cpp inference server running on pyrite |\n| [gperdrizet/postgreSQL-server](https://github.com/gperdrizet/postgreSQL-server) | PostgreSQL server on pyrite, exposed via VPS TCP proxy |\n| [gperdrizet/nixx](https://github.com/gperdrizet/nixx) | Personal assistant and memory system running on pyrite |\n| [gperdrizet/docker-images](https://github.com/gperdrizet/docker-images) | Custom Docker base images used across projects |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgperdrizet%2Fhomelab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgperdrizet%2Fhomelab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgperdrizet%2Fhomelab/lists"}