This Repo contains the docker-compose.yml file for home.glhweb.com & Configuration details of my home server.
This project originally started as a way to teach myself the backend configuration of Websites and APIs but transitioned into a hobby where I provide various online services to myself and peers. All this is done through using a NAS and a repurposed PC in my home.
Infrastructure | Proxmox, Ubuntu, Docker, OpenMediaVault |
Services | Naextcloud, MariaDB, Redis, traefik proxy, LittleLink, MailHog |
Connection | Cloudflare, Let's Encrypt |
Security | fail2ban, Cloudflare WAF, SSL/TLS |
Monitoring | NetData, HealthChecks, SMTP alerts, S.M.A.R.T cron jobs |
Tools | Tailscale |
Protocols | HTTP, HTTPS, SSH, SMB, FTP, SMTP |
Here is a gist of what happens when a webpage is accessed on the system. The HTTPS request coming into the system goes to the traefik reverse proxy container. This container is stored in an Ubuntu VM (Services) on the PC (Server 1) running Proxmox. Traefik reads the request, directs it to the respective container, and returns the response to the user.
These different containers in the Services VM provide access to different resources within the network.
For example, when a user is transferring a file on Nextcloud, a cloud storage service similar to Dropbox, it goes through traefik, then to Nextcloud which accesses the filesystem on the NAS (Server 2).