https://github.com/half0wl/homelab
🔬
https://github.com/half0wl/homelab
Last synced: 11 months ago
JSON representation
🔬
- Host: GitHub
- URL: https://github.com/half0wl/homelab
- Owner: half0wl
- Created: 2024-01-01T15:45:58.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-12T16:08:30.000Z (about 1 year ago)
- Last Synced: 2025-08-19T01:31:50.055Z (11 months ago)
- Language: HTML
- Homepage:
- Size: 45.9 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🔬 homelab
Personal homelab - nothing to see here!
[https://raychen.io/writing/homelab-setup](https://raychen.io/writing/homelab-setup)
## Services
| Name | Location | Purpose |
| -------------------------------------------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------- |
| [`services/pihole-and-dns`](services/pihole-and-dns) | [`dns.gallifrey.sh`](https://dns.gallifrey.sh) | Network-wide domain/ads blocking + `dnsmasq` for local DNS server |
| [`services/homebridge`](services/pihole-and-dns) | [`homebridge.gallifrey.sh`](https://homebridge.gallifrey.sh) | Connecting unsupported devices to Apple HomeKit |
| [`services/unifi-network-application`](services/unifi-network-application) | [`unifi.gallifrey.sh`](https://unifi.gallifrey.sh) | UniFi controller for network devices |
| [`services/observability`](services/observability) | [`observability.gallifrey.sh`](https://observability.gallifrey.sh) | Monitoring stack via Grafana, cAdvisor, and Prometheus+NodeExporter |
| [`services/nginx-certbot`](services/nginx-certbot) | N/A | NGINX Reverse Proxy + SSL via LetsEncrypt/Certbot |
_p/s: the locations above are unreachable from the public!_
## Recipes
### Running Playbooks
```sh
$ ansible-playbook \
-i ansible/inventory.yml \
services/$SERVICE/playbook.yml \
--ask-become-pass
```
### Renewing LE cert
1. Edit [`services/nginx-certbot/cloudflare.ini`](services/nginx-certbot/cloudflare.ini)
with a valid "Edit Zone DNS" token from CF
2. Run the Ansible playbook [`services/nginx-certbot/playbook.yml`](services/nginx-certbot/playbook.yml)
3. SSH into host and restart the nginx container
## License
Do whatever you want.