{"owner":"geerlingguy","github":"https://github.com/geerlingguy","claimed":false,"inventory":[],"indexed":[{"repo":"geerlingguy/mac-dev-playbook","github":"https://github.com/geerlingguy/mac-dev-playbook","description":"Mac setup and configuration via Ansible.","language":"Shell","stars":7028,"topics":["mac","macos","setup","developer","homebrew","automation","ansible","playbook"],"license":null,"category":"workflow-automation"},{"repo":"geerlingguy/mini-rack","github":"https://github.com/geerlingguy/mini-rack","description":"Miniature rack builds, for portable or compact Homelabs.","language":null,"stars":3822,"topics":["cluster","edge","homelab","rackmount"],"license":"GPL-3.0","category":"self-hosted-apps"},{"repo":"geerlingguy/raspberry-pi-pcie-devices","github":"https://github.com/geerlingguy/raspberry-pi-pcie-devices","description":"Raspberry Pi PCI Express device compatibility database","language":"HTML","stars":1945,"topics":["raspberry-pi","pcie","compute-module","cm4","arm","arm64","aarch64"],"license":"GPL-3.0","category":"databases-storage"},{"repo":"geerlingguy/ansible-role-mysql","github":"https://github.com/geerlingguy/ansible-role-mysql","description":"Ansible Role - MySQL","language":"Jinja","stars":1131,"topics":["mysql","ansible","role","database","mariadb","playbook"],"license":"MIT","category":"databases-storage"},{"repo":"geerlingguy/sbc-reviews","github":"https://github.com/geerlingguy/sbc-reviews","description":"Jeff Geerling's SBC review data - Raspberry Pi, Radxa, Orange Pi, etc.","language":"Python","stars":990,"topics":["benchmarks","computers","raspberry-pi","reviews","sbc","testing"],"license":"MIT","category":"dev-tools"},{"repo":"geerlingguy/ansible-role-security","github":"https://github.com/geerlingguy/ansible-role-security","description":"Ansible Role - Security","language":"Jinja","stars":958,"topics":["ansible","role","security","centos","rhel","linux","ubuntu","debian","fedora","redhat"],"license":"MIT","category":"security-tools"},{"repo":"geerlingguy/ansible-role-nginx","github":"https://github.com/geerlingguy/ansible-role-nginx","description":"Ansible Role - Nginx","language":"Jinja","stars":893,"topics":["ansible","role","nginx","webserver","http","https","balancer"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-certbot","github":"https://github.com/geerlingguy/ansible-role-certbot","description":"Ansible Role - Certbot (for Let's Encrypt)","language":"Shell","stars":883,"topics":["certbot","letsencrypt","ansible","role","ssl","https","certificate"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-jenkins","github":"https://github.com/geerlingguy/ansible-role-jenkins","description":"Ansible Role - Jenkins CI","language":"Groovy","stars":852,"topics":["ansible","role","jenkins","ci","continuous-integration"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/pi-kiosk","github":"https://github.com/geerlingguy/pi-kiosk","description":"A simple Raspberry Pi Kiosk app","language":"Shell","stars":695,"topics":["kiosk","kiosk-mode","raspberry-pi","touchscreen"],"license":"GPL-3.0","category":"dashboards-admin"},{"repo":"geerlingguy/packer-boxes","github":"https://github.com/geerlingguy/packer-boxes","description":"Jeff Geerling's Packer build configurations for Vagrant boxes.","language":"Shell","stars":671,"topics":["packer","ubuntu","box","vagrant","virtualbox","ansible","debian","centos"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-postgresql","github":"https://github.com/geerlingguy/ansible-role-postgresql","description":"Ansible Role - PostgreSQL","language":"Jinja","stars":654,"topics":["ansible","role","postgresql","postgres","sql","database","setup"],"license":"MIT","category":"databases-storage"},{"repo":"geerlingguy/ansible-role-kubernetes","github":"https://github.com/geerlingguy/ansible-role-kubernetes","description":"Ansible Role - Kubernetes","language":"Jinja","stars":627,"topics":["ansible","role","kubernetes","k8s","docker","orchestration","kubeadm","kubectl"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-for-devops-manuscript","github":"https://github.com/geerlingguy/ansible-for-devops-manuscript","description":"Ansible for DevOps Manuscript","language":"Shell","stars":599,"topics":["ansible","devops","book"],"license":null,"category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-firewall","github":"https://github.com/geerlingguy/ansible-role-firewall","description":"Ansible Role - iptables Firewall configuration.","language":"Shell","stars":582,"topics":["ansible","role","firewall","iptables","linux","security","rules","centos","ubuntu","rhel"],"license":"MIT","category":"security-tools"},{"repo":"geerlingguy/ansible-role-php","github":"https://github.com/geerlingguy/ansible-role-php","description":"Ansible Role - PHP","language":"Jinja","stars":513,"topics":["ansible","role","php","php-fpm","playbook","lamp","lemp"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-apache","github":"https://github.com/geerlingguy/ansible-role-apache","description":"Ansible Role - Apache 2.x.","language":"Jinja","stars":431,"topics":["ansible","role","apache","webserver","lamp","install","setup","centos","ubuntu","debian"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-nodejs","github":"https://github.com/geerlingguy/ansible-role-nodejs","description":"Ansible Role - Node.js","language":"Jinja","stars":426,"topics":["ansible","role","node","nodejs","install","setup","language","nodesource"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/top500-benchmark","github":"https://github.com/geerlingguy/top500-benchmark","description":"Automated Top500 benchmark for clusters or single nodes.","language":"Jinja","stars":420,"topics":["ansible","cluster","hpl","linpack","raspberry-pi","supercomputer","top500"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-collection-mac","github":"https://github.com/geerlingguy/ansible-collection-mac","description":"Collection of macOS automation tools for Ansible.","language":"Shell","stars":388,"topics":["ansible","collection","roles","mac","macos","osx","homebrew","configuration"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-ntp","github":"https://github.com/geerlingguy/ansible-role-ntp","description":"Ansible Role - NTP","language":"Jinja","stars":341,"topics":["ansible","role","ntp","time","time-server","synchronization"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-java","github":"https://github.com/geerlingguy/ansible-role-java","description":"Ansible Role - Java","language":"Jinja","stars":326,"topics":["ansible","role","java","languages","install","linux"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/temperature-monitor","github":"https://github.com/geerlingguy/temperature-monitor","description":"Raspberry Pi-based home temperature monitoring network.","language":"JavaScript","stars":294,"topics":["raspberry-pi","pi","temperature-monitor","environment","nest-api","javascript","express","ds18b20"],"license":null,"category":"analytics"},{"repo":"geerlingguy/ansible-role-nfs","github":"https://github.com/geerlingguy/ansible-role-nfs","description":"Ansible Role - NFS","language":"Jinja","stars":280,"topics":["ansible","role","nfs","file-sharing","file-server","network","file","server"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/time-pi","github":"https://github.com/geerlingguy/time-pi","description":"Raspberry Pi stratum 1 PTP and NTP timeserver configuration.","language":"Python","stars":273,"topics":["gps","ntp","ptp","raspberry-pi","time","time-server"],"license":"GPL-3.0","category":"self-hosted-apps"},{"repo":"geerlingguy/ansible-role-redis","github":"https://github.com/geerlingguy/ansible-role-redis","description":"Ansible Role - Redis","language":"Jinja","stars":271,"topics":["ansible","role","redis","cache","memcached","key-value"],"license":"MIT","category":"databases-storage"},{"repo":"geerlingguy/pi-router","github":"https://github.com/geerlingguy/pi-router","description":"Raspberry Pi-based OpenWRT router configs","language":"Dockerfile","stars":260,"topics":["openwrt","raspberry-pi","router"],"license":null,"category":"self-hosted-apps"},{"repo":"geerlingguy/arm-nas","github":"https://github.com/geerlingguy/arm-nas","description":"Arm NAS configuration with ZFS.","language":"Shell","stars":242,"topics":["arm","arm64","linux","raspberry-pi","zfs","hl15"],"license":"GPL-3.0","category":"self-hosted-apps"},{"repo":"geerlingguy/ansible-role-haproxy","github":"https://github.com/geerlingguy/ansible-role-haproxy","description":"Ansible Role - HAProxy","language":"Jinja","stars":242,"topics":["ansible","role","haproxy","proxy","reverse-proxy","webserver","load-balancer","scalability","performance"],"license":"MIT","category":"networking-infra"},{"repo":"geerlingguy/ansible-role-pip","github":"https://github.com/geerlingguy/ansible-role-pip","description":"Ansible Role - Pip (for Python)","language":null,"stars":221,"topics":["ansible","role","galaxy","python","pip","packaging","package-manager"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-git","github":"https://github.com/geerlingguy/ansible-role-git","description":"Ansible Role - Git","language":null,"stars":217,"topics":["ansible","role","git","vcs","distributed","version-control","setup","install"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/pico-w-garage-door-sensor","github":"https://github.com/geerlingguy/pico-w-garage-door-sensor","description":"Wireless garage door sensor for Home Assistant powered by Raspberry Pi Pico W","language":"Python","stars":217,"topics":["esphome","garage-door","home-assistant","microcontroller","pico","raspberry-pi"],"license":null,"category":"dashboards-admin"},{"repo":"geerlingguy/ansible-role-elasticsearch","github":"https://github.com/geerlingguy/ansible-role-elasticsearch","description":"Ansible Role - Elasticsearch","language":"Jinja","stars":195,"topics":["ansible","role","elasticsearch","elk","logging","java"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/airgradient-prometheus","github":"https://github.com/geerlingguy/airgradient-prometheus","description":"AirGradient Prometheus exporter.","language":"C++","stars":191,"topics":["airgradient","prometheus","exporter","air-quality"],"license":"MIT","category":"analytics"},{"repo":"geerlingguy/ansible-role-repo-epel","github":"https://github.com/geerlingguy/ansible-role-repo-epel","description":"Ansible Role - EPEL Repository for RHEL/CentOS","language":null,"stars":191,"topics":["ansible","role","epel","repo","repository","centos","redhat","rhel","setup"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-swap","github":"https://github.com/geerlingguy/ansible-role-swap","description":"Ansible Role - Swap","language":null,"stars":181,"topics":["ansible","role","swap","swapfile","memory","ram","ubuntu","redhat","fedora","centos"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-logstash","github":"https://github.com/geerlingguy/ansible-role-logstash","description":"Ansible Role - Logstash","language":"Jinja","stars":180,"topics":["ansible","role","logstash","elk","logging","java"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-composer","github":"https://github.com/geerlingguy/ansible-role-composer","description":"Ansible Role - Composer PHP Dependency Manager","language":"Jinja","stars":179,"topics":["ansible","role","composer","php","dependency-manager","packagist","packages"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-backup","github":"https://github.com/geerlingguy/ansible-role-backup","description":"Ansible Role - Backup for simple servers","language":"Shell","stars":172,"topics":["backup","ansible","role","server","linux","disaster-recovery","ubuntu","redhat","centos","debian"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-ansible","github":"https://github.com/geerlingguy/ansible-role-ansible","description":"Ansible Role - Ansible","language":null,"stars":171,"topics":["ansible","role","install","software","setup","pip","python","automation"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-filebeat","github":"https://github.com/geerlingguy/ansible-role-filebeat","description":"Ansible Role - Filebeat for ELK stack","language":"Jinja","stars":156,"topics":["ansible","role","filebeat","elasticsearch","elk","logging"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-node_exporter","github":"https://github.com/geerlingguy/ansible-role-node_exporter","description":"Ansible role - Node exporter","language":"Jinja","stars":143,"topics":["ansible","ansible-role","prometheus","monitoring","node-exporter"],"license":"MIT","category":"analytics"},{"repo":"geerlingguy/ansible-role-raspberry-pi","github":"https://github.com/geerlingguy/ansible-role-raspberry-pi","description":"Configures a Raspberry Pi (running Raspbian).","language":null,"stars":131,"topics":["raspberry-pi","pi","ansible","role","setup","hardware","raspbian"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-kibana","github":"https://github.com/geerlingguy/ansible-role-kibana","description":"Ansible Role - Kibana","language":"Jinja","stars":123,"topics":["ansible","role","kibana","elk","logstash","logging","analytics","data","dashboard"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-solr","github":"https://github.com/geerlingguy/ansible-role-solr","description":"Ansible Role - Apache Solr","language":null,"stars":103,"topics":["ansible","role","apache","solr","search","lucene","index","java"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-supervisor","github":"https://github.com/geerlingguy/ansible-role-supervisor","description":"Ansible Role - Supervisor","language":"Shell","stars":101,"topics":["ansible","role","system","supervisor","supervisord","process","init","docker","galaxy"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-php-versions","github":"https://github.com/geerlingguy/ansible-role-php-versions","description":"Ansible Role - PHP Versions","language":null,"stars":101,"topics":["ansible","role","php","versions","ondrej","remi","repository","centos","ubuntu","debian"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/3d-printing","github":"https://github.com/geerlingguy/3d-printing","description":"Documentation and tools for my 3D Printer setup.","language":null,"stars":78,"topics":["3d-printing","octoprint","octolapse","octopi","raspberry-pi","ender3v2"],"license":"MIT","category":"self-hosted-apps"},{"repo":"geerlingguy/shelly-plug-prometheus","github":"https://github.com/geerlingguy/shelly-plug-prometheus","description":"Shelly Plug Prometheus exporter.","language":"PHP","stars":76,"topics":["shelly-plugs","prometheus","exporter"],"license":"MIT","category":"analytics"},{"repo":"geerlingguy/ansible-role-memcached","github":"https://github.com/geerlingguy/ansible-role-memcached","description":"Ansible Role - Memcached","language":"Jinja","stars":74,"topics":["ansible","role","memcached","cache","caching","performance","database","layer"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-php-mysql","github":"https://github.com/geerlingguy/ansible-role-php-mysql","description":"Ansible Role - PHP MySQL support","language":null,"stars":41,"topics":["ansible","role","php","mysql","database","php-mysql","extension","pdo"],"license":"MIT","category":"databases-storage"},{"repo":"geerlingguy/ansible-role-munin","github":"https://github.com/geerlingguy/ansible-role-munin","description":"Ansible Role - Munin","language":"Jinja","stars":40,"topics":["ansible","role","munin","monitoring","system","os","os-statistics"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-munin-node","github":"https://github.com/geerlingguy/ansible-role-munin-node","description":"Ansible Role - Munin node","language":"Jinja","stars":37,"topics":["ansible","role","munin","munin-node","monitoring","system","service"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-elasticsearch-curator","github":"https://github.com/geerlingguy/ansible-role-elasticsearch-curator","description":"Ansible Role - Elasticsearch Curator","language":null,"stars":36,"topics":["ansible","role","elasticsearch","elasticsearch-curator","elk","logging","cron","efk"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-php-redis","github":"https://github.com/geerlingguy/ansible-role-php-redis","description":"Ansible Role - PhpRedis","language":"PHP","stars":21,"topics":["ansible","role","phpredis","php","redis","extension"],"license":"MIT","category":"databases-storage"},{"repo":"geerlingguy/ansible-role-fathom","github":"https://github.com/geerlingguy/ansible-role-fathom","description":"Ansible Role - Fathom","language":"Jinja","stars":15,"topics":["ansible","role","fathom","analytics","linux","ansible-galaxy","ansible-role"],"license":"MIT","category":"deployment-docker-iac"},{"repo":"geerlingguy/ansible-role-php-pgsql","github":"https://github.com/geerlingguy/ansible-role-php-pgsql","description":"Ansible Role - PHP support for PostgreSQL.","language":null,"stars":13,"topics":["ansible","role","php","pgsql","extension","php-pgsql","postgresql","postgres","database"],"license":"MIT","category":"databases-storage"}],"how_to_buy":"GET /r/geerlingguy/<repo> (Accept: application/json) for any listed repo here: tree, README, price and the checkout to pay (x402; rehearse first at its test twin, simulated money). Repos under 'indexed' are free: clone them from GitHub."}