8000 GitHub - ziadhorat/labhome.co.za: Personal homelab IAC repo
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ziadhorat/labhome.co.za

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Snippets of my homelab

"labhome.co.za"

License: MIT

Contents

Screenshots

Homepage

Dashboard

Monitoring

Monitoring

Diagram

Diagram

Services:

  • Development

    • UptimeKuma - A fancy self-hosted monitoring tool.
    • Yaade - Yaade is an open-source, self-hosted, collaborative API development environment.
    • Portainer - Management of Docker environment.
    • Prometheus - Prometheus is a systems and service monitoring system.
    • Loki - Cloud Native Log Aggregation by Grafana.
    • Portainer - Lightweight service delivery platform for containerized applications.
    • Grafana - Grafana is the open source analytics & monitoring solution for every database.
    • Code-Server - Code-server is VS Code running on a remote server, accessible through the browser.
    • Gitea - Forge software package for hosting software development version control using Git.
  • NAS

    • Firefox - Docker container for Firefox.
    • Excalidraw - Virtual whiteboard for sketching hand-drawn like diagrams.
    • NFS - A Multi-Aarch Docker image for lightweight, highly customizable, containerized NFS server.
    • Bazarr - Manage and download subtitles based on your requirements.
    • Samba - SAMBA server based on CentOS 8, easy to set up.
    • Tautulli - A Python based monitoring and tracking tool for Plex Media Server.
    • Crafty - Minecraft Server Wrapper/Controller/Launcher.
    • Jellyfin - The Free Software Media Browser.
    • Scrutiny - WebUI for smartd S.M.A.R.T monitoring.
    • Samba - SAMBA server based on CentOS 8, easy to set up.
    • Overseerr - Management and media discovery tool built to work with the Plex ecosystem.
    • Radarr - Movie collection manager for Usenet and BitTorrent users.
    • Sonarr - PVR for Usenet and BitTorrent users.
    • Lidarr - Music collection manager for Usenet and BitTorrent users.
    • Prowlarr - Indexer manager/proxy built on the popular arr stack to integrate with your various PVR apps.
    • Unpackerr - Extracts downloads for Radarr, Sonarr, Lidarr, Readarr, and/or a Watch folder.
    • FlareSolverr - FlareSolverr is a proxy server to bypass Cloudflare and DDoS-GUARD protection.
    • qFlood - Torrent client Web UI.
  • Services

    • Vaultwarden - Unofficial Bitwarden compatible server written in Rust.
    • 2FAuth - A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes.
    • TheLounge - Modern, responsive, cross-platform, self-hosted web IRC client.
    • Plex - Hosts & organizes movies.
    • Homepage - A modern, fully static, fast, secure fully proxied, highly customizable application dashboard.
    • Home-Assistant - Open source home automation that puts local control and privacy first.
    • Joplin-Server - Joplin is an excellent open source note taking application with plenty of features.
    • File-Gator - FileGator is a free, open-source, self-hosted web application for managing files and folders.
    • IT-Tools - Collection of handy tools for developers.
    • PairDrop - Send documents via peer to peer connection over LAN.
    • DrawIO - Diagram software for making flowcharts, process diagrams, org charts, UML, ER and network diagrams.
    • Ghost - Ghost is a free and open source blogging platform written in JavaScript.
    • Wordpress - The WordPress rich content management system can utilize plugins, widgets, and themes.
    • Yaade - Yaade is an open-source, self-hosted, collaborative API development environment.
    • PHPMyAdmin - Handles the administration of MySQL over the Web.
    • PGAdmin - pgAdmin 4 is a web based administration tool for the PostgreSQL database.
    • DB-Backup - This is a container for backing up multiple types of DB Servers
    • Duplicati - Duplicati was designed for online backups from scratch.
  • Network

    • Wireguard - The easiest way to run WireGuard VPN + Web-based Admin UI.
    • Adguard - Network-wide ads & trackers blocking DNS server.
    • Cloudflare_DDNS - A small, feature-rich, and robust Cloudflare DDNS updater.
    • Nginx - Manage Nginx proxy hosts with a simple, powerful interface. Config
    • CloudFlared - Tunneling daemon that proxies traffic from the Cloudflare network to your origins.
  • Databases

    • Postgres - The PostgreSQL object-relational database system provides reliability and data integrity.
    • MySQL - MySQL is a widely used, open-source relational database management system (RDBMS).
  • Agents on all servers

    • WatchTower - Automating Docker container base image updates.
    • cAdvisor - Provides an understanding of the resource usage and performance characteristics of containers.
    • Portainer-Agent - An agent used to manage all the resources in a Swarm cluster.

Usage

  • Set up vars file for general & nas.
  • Ensure all ports are correctly assigned within boilerplates to your needs.
  • !! Change the user and group in all boilerplates from root:root, root will guarentee it will all work but you should instead use the user generated by the ansible scripts or one on your system already (without root privs).
  • Run: ansible-playbook main.yml.
  • After the initial run, setup gitea + gitea_runners to do all future deploys.

Issues

OrangePi 5 Plus Joshua Riek / Debian eMMc issue

  • If you are using an OrangePi-5Plus, these 2 images work great for a headless OS. (I use Debian)
  • I use RKDevTool to flash my eMMc chip with an OS.
  • If RKDevTool gives you issues:
    • Flash a SD card with Ubuntu Dekstop (as that takes boot priority).
    • Boot into the SD card
    • Run the following shell script on the server
$ cat setup.sh
if [ "$wipedisk" == "yes" ]; then
    dd if=/dev/zero of=/dev/mmcblk0 
fi
if [ ${imagename: -3} == "img" ]; then
    tar cJvf ${imagename}.xz ${imagename}
    xz -dc ${imagename}.xz | sudo dd of=/dev/mmcblk0 bs=4k
    sync
fi
if [ ${imagename: -2} == "xz" ]; then
    xz -dc ${imagename} | sudo dd of=/dev/mmcblk0 bs=4k
    sync
fi

Footnotes

r/homelab post about the setup with some Q&A

LinuxServer.IO is a great resource - especially for finding arm64 compatible docker images

Locate services for you: Awesome-Selfhosted / Awesome-Docker

Homepage examples: u/deleted

This projects backbones was originally forked from rishavnandi/ansible_homelab

About

Personal homelab IAC repo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0