Skip to content

Caslus/homelab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Homelab

This setup is designed to be modular and easy to maintain. Each service is defined in its own docker-compose.yml file with environment variables for configuration. Since I'm behind a CGNAT, I use Cloudflare Zero Trust and a tunnel to expose my services to devices outside my network.

Note: This is not a tutorial but a personal reference. If you find it useful, feel free to use it. However, many configurations are stored in data folders, environment variables, or the Cloudflare dashboard, which are not included here. I won’t be providing support for this setup, but feel free to reach out if you have questions.


🚀 Services

These are the services I personally felt a need for, each with its own purpose and functionality, all running in Docker containers. You can find more details in their respective repositories.

📚 Media & Content Management

🌐 Networking & Remote Access

  • Cloudflared → Secure tunnel to expose local services through Cloudflare.
  • Sshwifty → Web-based SSH client for remote access via browser.

🔄 Automation & Monitoring

  • n8n → Workflow automation tool for integrating and automating services.
  • Cup → Checks for Docker container updates.
  • Beszel → Lightweight server monitoring hub with historical data, docker stats, and alerts.
  • Uptime-Kuma → Self-hosted uptime monitoring tool.

📊 Productivity & Organization

  • Homarr → Customizable dashboard for organizing and accessing services.
  • Wallos → Personal subscription tracker.
  • Stirling-PDF → Web-based PDF manipulation tool.

📥 Downloads & Storage

  • qBittorrent → Web-based BitTorrent client for managing downloads.

📂 Structure

The folder structure ensures easy maintenance by keeping each service isolated and organized:

/
├── docker-compose.yml
├── .env
├── apps/
│   ├── <service>/
│   │   ├── docker-compose.yml
│   │   ├── .env (when needed)
├── data/
│   ├── <service>/
├── books/
├── downloads/
  • docker-compose.yml → Main file including all services.
  • .env → Environment variables for the main docker-compose.yml file.
  • apps/ → Each service has its own folder with a docker-compose.yml and an optional .env file.
  • data/ → Persistent storage, mounted to containers to prevent data loss.
  • books/ → Storage location for Calibre-Web books.
  • downloads/ → Folder for qBittorrent downloads.

About

my homelab setup

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published