Skip to content

null-p01ntr/B33K33P3R_H1V3-HomeLab-Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

H1V3 - Self-Hosted Home-Lab Server

alt text

Motivation and Purpose

I have built a self-hosted server and have been maintaining since 2022. Started as a basic VPN server and became much more as I improved my technical skills. It's an endless opportunity of hands-on experimenting with new technologies in a controlled environment and gain experience on topics that were abstract to me as project management, system administration and networking.

Structures

Hardware & OS

Raspberry Pi 4B - 4GB RAM running Raspberry Pi OS 64bit (no desktop)

Connections

alt text

'Animal Kingdom' Domain Name System

Numerical animal/habitat domain names for devices under the home network. Becomes easy to access, track and identify each device on the network. Visualizes a consistent, integrated system. Purpose of the device/service in the network matches with the animal's/habitat's role in nature.

Hive -> H1V3</br>
Tiger -> 7163R</br>
Safari -> 54F4R1

Inspiration

Projects

1. H0N3Y

alt text

Description: Synchronization between my personal Google Drive and OneDrive
Reasoning: Use both Google's and Microsoft's cloud drive features on different platforms with same files.

Technologies Used:

  • Python
  • RClone
  • Shell script
  • HTML

Key Features:

  • Sync selected folders in OneDrive with Google Drive periodically.
  • Create a report of changes that are made and notify via e-mail daily and if a change were made

Role: Development of automated sync scripts, report generation, and maintaining.
see more...

2. H1V3 M1ND

alt text

Description: Smart home management platform built with Home Assistant
Reasoning: Connect different types of smart appliances under same platforms, enable communication in between
Technologies Used:

Key Features:

  • Automate home lighting based on: owner location, time of day, use of appliances
  • Automate music playback based on current room
  • Recommend outfit based on weather and calendar event
  • Notify battery status of connected devices
  • Notify server status

Role: Automation and artificial sensor development on an open-source project.
see more...

3. W3453L

alt text

Description: Android Phone server for UI needed automation and act as GSM server
Reasoning: Execute UI processes on android app for limited home automation APIs (ex: Tuya IR devices, SmartThings)
Technologies Used:

Key Features:

  • Mimics pushing to buttons on Tuya devices that are unavailable on Home Assistant
  • WhatsApp chat bot for smart home status
  • Call handling and notifying owner when traveling abroad

Role: Automation development on MacroDroid.

4. Custom Shell Scripts

Description: Series of shell scripts for maintaining the server and other services
Reasoning: Reduce the hassle of running same Linux commands for repetitive situations
Technologies Used:

  • Shell script
  • Cron

Key Features:

  • Backup system
  • Summarize service status for monitoring
  • Restart and backup Docker containers
  • Remotely turn on other PCs

Role: Shell script development and maintaining cron jobs
see more...

Services

Other installed services for convenient access and maintaining the server

  1. Heimdall: Web interface to access, monitor or maintain projects and running services.
  2. PiVPN: Secure connection to home network from outside with OpenVPN protocol.
  3. Pi-Hole: Monitor internet traffic, ad-blocking and maintain DHCP server.
  4. OliveTin: Web interface to execute custom scripts or trigger automated scripts.
  5. Motion: Use webcam as a security camera.
  6. VS Code: Benefit from Remote SSH extension for easy software development, file management and Docker maintenance

Skills Developed

  • Networking: Configuring and managing network settings and security.
  • System Administration: Managing and maintaining server hardware and software.
  • Cloud Computing: Develop, deploy and maintain software on a remote environment.
  • Containerization: Using Docker for containers application deployment and management.
  • Open Source Projects: Tinkering and adjusting open-sourced projects to my needs.
  • Automation: Detect repetitive tasks and design proper structures to automate them.
  • Software Development: Experience languages and concepts outside my tech skill-set and comfort-zone.
  • Project Management: Create tasks and plan them based on subjects, urgency and arrange deadlines according to priority of tasks.

Contact Information

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published