Skip to content

Commit 0816faf

Browse files
committed
Fix grammar
1 parent bb2cca5 commit 0816faf

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

content/posts/homelab-adventure-part-4.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ slug = "homelab-adventure-part-4"
77
tags = ["Linux", "Homelab"]
88
+++
99

10-
Welcome to my journey in building my Homelab. This is part of a multipart series; in the last part I showed how to setup an internal network across multiple hosts. This "final" post will go over application hosting and monitoring.
10+
Welcome to my journey in building my Homelab. This is part of a multipart series; in the last part I showed how to set up an internal network across multiple hosts. This "final" post will go over application hosting and monitoring.
1111

1212
<!-- more -->
1313

@@ -58,7 +58,7 @@ Each container gets a separate role in Ansible that creates a storage folder, a
5858
5959
### Exposing applications
6060
61-
I use [Traefik](https://doc.traefik.io/traefik/) to expose each application based on labels. I use a wildcard certificate to enable HTTPS, but Let's Encrypt could also be used. If you are worried about mounting the `docker.sock` directly to Traefik, you can setup [socket-proxy](https://github.com/wollomatic/socket-proxy). For managing DNS, I use [DNSControl](https://dnscontrol.org/) but Ansible could also be used, but it is more verbose.
61+
I use [Traefik](https://doc.traefik.io/traefik/) to expose each application based on labels. I use a wildcard certificate to enable HTTPS, but Let's Encrypt could also be used. If you are worried about mounting the `docker.sock` directly to Traefik, you can setup [socket-proxy](https://github.com/wollomatic/socket-proxy).
6262

6363
```yaml
6464
# roles/container-traefik/tasks/main.yml
@@ -227,17 +227,19 @@ serversTransport:
227227
228228
Now any container with the `traefik.enable: 'true'` will be automatically exposed on `<container_name>.<traefik_domain>`. If `traefik.http.routers.<app_name>.middlewares: 'internal-network@file'` is set as a label, the application will only be accessible from IPs on the `ipAllowList`.
229229

230+
For managing DNS, I use [DNSControl](https://dnscontrol.org/) so I can version control my DNS configuration. Ansible could also be used, but it's more verbose.
231+
230232
## Monitoring
231233

232-
For general server metrics and monitoring, I use [Netdata](https://www.netdata.cloud/). There are some additional monitoring modules I have setup:
234+
For general server metrics and monitoring, I use [Netdata](https://www.netdata.cloud/). There are some additional monitoring modules I have set up:
233235

234236
- [SMART monitoring](https://learn.netdata.cloud/docs/collecting-metrics/hardware-devices-and-sensors/s.m.a.r.t.)
235237
- [UPS monitoring](https://learn.netdata.cloud/docs/collecting-metrics/ups/apc-ups)
236238
- [Container metrics](https://learn.netdata.cloud/docs/collecting-metrics/containers-and-vms/docker)
237239

238240
This gives alerts for things like high disk usage, high memory usage, UPS failed over to battery, and SMART failures.
239241

240-
For custom monitoring, I use [Uptime Kuma](https://github.com/louislam/uptime-kuma). It works well for application health monitoring as well as custom webhook monitors. I have setup custom webhook monitors for:
242+
For custom monitoring, I use [Uptime Kuma](https://github.com/louislam/uptime-kuma). It works well for application health monitoring as well as custom webhook monitors. I have set up custom webhook monitors for:
241243

242244
- BTRFS Health
243245
- BTRFS Scrubbing

0 commit comments

Comments
 (0)