Skip to content

luigilacastagne/ultimate-devops-nas

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

214 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents

Ultimate NAS - DevOps Edition (in-development)

About

license

This project draws inspiration from:

What Ultimate DevOps NAS Does

This intends to be a self-contained and automated provisioning and configuring of a feature-rich NAS host, with a flexible and modular configuration.

All services will be containerized in docker with the goal of migrating to kubernetes at a later point.

There will be seperate VMs created for running the CI/CD runner, as well as the NAS self-hosted apps,

All of these services are meant to be optional and swappable with alternatives of one's choosing, as each service will be deployed with an ansible playbook.

Features include:

  • Front-end dashboard
    • Services Health Checks
    • Monitoring and Logging
  • Home Automation dashboard
  • Media server
    • Movies
    • TV Shows
    • eBooks
    • Comics/Manga
  • Torrent management
    • Tracking
    • Auto Downloader
  • WireGuard VPN
  • NGINX Reverse Proxy
  • Dynamic DNS
  • PiHole DNS Ad Block
  • Password Vault
  • Self-hosted Authentication
  • Private Cloud
    • File Storage
    • Photo Storage

Stats

Project start

Created

View count

Visits Badge

Last update

Updated

List of Self-Hosted NAS Applications to be Used

Host Services

CI/CD Pipelines & Server Automation

  • GitLab CI - Self-hosted CI/CD runner, feature-rich
Alternative / optional choices
  • n8n - Nodemation, a node based workflow and automation service like IFTTT.
  • Woodpecker-CI - a simple CI engine with great extensibility, forked from Drone.

Front-End

  • Dashy - A self-hosted startpage for your server. Easy to use visual editor, status checking, widgets, themes and tons more!
Alternative / optional choices
  • Flame (Another static home page)
  • Homer (A static home page)
  • Krusader - Twin panel file management for your desktop
  • Organizr - ORGANIZR aims to be your one stop shop for your Servers Frontend.

Infrastructure & Application Management

  • Grafana - Query, visualize, alert on, and understand your data no matter where it’s stored (via stats role).
  • Portainer - for managing Docker and running custom images
  • Prometheus - Time series database and monitoring system (via stats role).
Alternative / optional choices
  • healthchecks.io - Ensure your NAS is online and get notified otherwise
  • Netdata - An extremely comprehensive system monitoring solution
  • Tautulli - Monitor Your Plex Media Server
  • Watchtower - Monitor your Docker containers and update them if a new version is available

Microservices

  • Eclipse Mosquitto - An open source MQTT broker
  • Gotify - Self-hosted server for sending push notifications

Networking & Remote Access

  • CloudFlare DDNS - A NGINX-based web server focused on security; needs Certbot + fail2ban)
  • CloudFlare DDNS - automatically update Cloudflare with your IP address
  • UniFi Controller (An all-in-one DNS solution with built-in ad-blocking)
  • UniFi Controller (A controller for UniFi devices such as routers and Access Points)
  • Guacamole - Web based remote desktop gateway, supports VNC, RDP and SSH
  • DuckDNS (A dynamic DNS client for DuckDNS)
Alternative / optional choices
  • netboot.xyz - a PXE boot server
  • SWAG (A reverse proxy with built-in support for dynamic DNS, Certbot and fail2ban)

Security

  • Traefik Proxy - Web proxy and SSL certificate manager
  • Vaultwarden - A FOSS Bitwarden fork written in Rust
  • Wireguard - A VPN server
  • Authelia - An authentication provider

Utilities

  • MariaDB - A database server for Nextcloud
  • Syncthing - sync directories with another device
Alternative / optional choices
  • Code Server - Powerful IDE from Microsoft accessible through the browser

Media Streaming

Content Aggregation & Management

  • Radarr - for organising and downloading movies
  • Sonarr - for downloading and managing TV episodes
  • Bazarr - companion to Radarr and Sonarr for downloading subtitles
  • Lidarr - Music collection manager for Usenet and BitTorrent users
  • Mylar - An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents
  • Prowlarr - Indexer aggregator for Sonarr, Radarr, Lidarr, etc.
  • Jackett - API Support for your favorite torrent trackers
  • YouTubeDL-Material - Self-hosted YouTube downloader built on Material Design
Alternative / optional choices
  • Overseerr - open source software application for managing requests for your media library; front end replacement for Sonarr and Radarr
  • CouchPotato - for downloading and managing movies

Content Downloading

  • arch-delugevpn (An Arch Linux container running Deluge and an Wireguard/OpenVPN client with a kill switch)
Alternative / optional choices
  • Transmission - BitTorrent client (with OpenVPN if you have a supported VPN provider)
  • pyLoad - A download manager with a friendly web-interface

Content Streaming

  • Jellyfin - The Free Software Media System
  • PhotoPrism - A photo library
  • Airsonic - catalog and stream music
  • Navidrome - Modern Music Server and Streamer compatible with Subsonic/Airsonic
  • Komga - a media server for your comics, mangas, BDs and magazines
  • Calibre-web - Provides a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
Alternative / optional choices
  • Plex - Plex Media Server
  • Piwigo - Photo Gallery Software
  • Booksonic (An audiobook server)
  • Miniflux - An RSS news reader
  • Paperless_ng - Scan, index and archive all your physical documents
  • Ubooquity - Book and comic server

Miscellaneous

Private Cloud Storage

  • Nextcloud - A self-hosted Dropbox alternative

Smart Home Management

  • Home Assistant - Open source home automation
Alternative / optional choices
  • openHAB - A vendor and technology agnostic open source automation software for your home; Alternative to Home Assistant

Tech Stack

Hypervisor:

Proxmox

CI/CD Runner:

GitLab CI

Source Control:

GitHub GitLab

Guest OS:

Ubuntu

Image Creation:

Packer

Infrastructure Provisioning:

Terrraform

Application Infrastructure:

Kubernetes containerd

Application Provisioning:

Ansible cloud-init

Container Infrastructure Provisioning:

Docker Compose

Filesystem:

ZFS

Remote Access:

Wireguard SSH

Reverse-Proxy:

NGINX

Storage Pooling:

mergerfs

Redundancy:

snapraid

Installation

TBD

Documentation

TBD

Requirements

TBD

About

An ultimate NAS build, automated with love using Proxmox as host OS, Ansible and Terraform. Make your self-hosted setup overkill with cutting-edge DevOps!

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • HCL 50.5%
  • Jinja 27.7%
  • Shell 18.4%
  • Python 3.4%