HomelabOS/README.md
2019-06-11 21:40:53 -06:00

8.9 KiB

HomelabOS

Your very own offline-first open-source data-center! Includes over 50 services!

Beta Software Warning

This software has not reached version 1.0 and should therefore be considered unstable. While any tagged version should work well on its own, a nice friendly upgrade path from one version to another is not guaranteed.

If you like getting your hands dirty in early versions of software, this is for you. If you prefer to wait till things are stable and friendly, maybe hold off for a while.

Also, if you trash your server or wreck your data, that's on you. Test your backups. Trust nothing.

Documentation

Installation

Summary

A set of Ansible scripts to configure a Docker based Homelab server with all sorts of goodies. Following the unix philosophy we gather together many specific tools to build the exact end result desired.

Goals

To make it easy for anyone to own all their data in an easy and secure way, without the need of cloud providers.

Features

  • One command deployment
  • Automated Backups
  • Easy Restore
  • Automated Apple Health Data import
  • Automated Tor Onion Service access
  • Automated HTTPS via LetsEncrypt
  • Automated Settings Sync
  • OpenVPN
  • OpenLDAP
  • Cloud Bastion Server with Tinc VPN

Planned Features

Installation Tutorial / Demo

Local Demo

If you have the latest version of Vagrant and Virtual Box setup you can demo things locally by running make develop. This will spin up a temporary developer copy on your local computer without needing an actual server to point things at. Note no data will actually be saved from inside the VM, so this is for testing only.

Available Software

  • Airsonic - Airsonic is a free, web-based media streamer, providing ubiquitous access to your music.
  • Apache - Web server
  • Beets - Beets is the media library management system for obsessive-compulsive music geeks.
  • Bitwarden - Password and secrets manager via bitwarden-rs
  • BookStack - Simple & Free Wiki Software
  • BulletNotes - Note taking application
  • Calibre - Complete ebook library management.
  • Code-Server - Run VS Code on a remote server.
  • Darksky - Local weather reported via darksky-influxdb
  • Dasher - Amazon Dash button support
  • Digikam - Professional Photo Management with the Power of Open Source
  • Documentation - Offline, searchable documentation via MkDocs
  • Drone - Drone is a self-service continuous delivery platform
  • Emby - Personal Media Server
  • Firefly III - Money management budgeting app
  • FreshRSS - A free, self-hostable aggregator
  • Ghost - Ghost is a platform for building and running a modern online publication
  • Gitea - Git hosting
  • Grafana - Pretty graphs
  • Guacamole - a clientless remote desktop gateway
  • Home Assistant - Home Automation
  • HomeBridge - HomeKit support for the impatient
  • Homedash - Dashboard
  • InfluxDB - Time series data storage
  • Inventario - Home inventory management
  • Jackett - API Support for your favorite torrent trackers (helps Sonarr and Radarr)
  • Jellyfin - The Free Software Media System
  • Kibitzr - IFTTT replacement
  • Lidarr - Sonarr but for Music.
  • Mailserver - Fully featured mail server
  • Mashio - Home brewery management software
  • Matomo - Web analytics
  • Mayan EDMS - Free Open Source DMS (document management system).
  • Minio - S3 hosting
  • Miniflux - Miniflux is a minimalist and opinionated feed reader.
  • Monica - Contact / relationship manager
  • Mylar - An automated Comic Book manager
  • NetData - Monitor your systems and applications, the right way!
  • NextCloud - Private Cloud Storage, Calendar, Contacts, etc.
  • Ombi - Ombi is a self-hosted web application that automatically gives your shared Plex or Emby users the ability to request content by themselves!
  • Organizr - Access all your HomelabOS services in one easy place.
  • OwnPhotos Self hosted Google Photos clone.
  • Paperless - Document management
  • PhpLDAPadmin - LDAP management interface
  • Pi-hole - Ad blocking
  • Piwigo - Manage your photo collection
  • Plex - Personal Media Server
  • Portainer - Easy Docker management
  • Radarr - Automated movie downloading
  • SickChill - SickChill is an automatic Video Library Manager for TV Shows.
  • Sonarr - Automated TV downloading
  • Syncthing - File syncing software
  • Tautulli - Monitor your Plex Server
  • Telegraf - Server statistics reporting
  • The Lounge - Always-on IRC client (IRC bouncer)
  • Transmission - BitTorrent client
  • Trilium - Build your personal knowledge base with Trilium Notes
  • Wallabag - Save and classify articles. Read them later. Freely.
  • Watchtower - A process for automating Docker container base image updates
  • WebVirtMg is a complete Kernel Virtual Machine (KVM) hypervisor manager.
  • Wekan - Open source Kanban board with MIT license
  • Zulip - Threaded chat software

Requirements

A server with:

  • Ubuntu 18.04 and passwordless SSH via SSH keys

Another computer with:

  • Docker

Optional Items

Domain Name

A domain configured with a A type DNS record of *.yourdomain.com pointed at your server's IP address. (This is optional because you can use Tor to access your services without registering a domain. For best support from 3rd party clients an actual domain is highly recommended. Also certain services do not work through TOR at the moment.) Note you can hang this off a subdomain as well, so *.homelab.yourdomain.com will work as well.

Port Forwarding

Ports 80 and 443 punched through any firewalls and port forwarded at your server in question. (This is also optional due to Tor access, but again highly recommended.)

Cloud Bastion Server

Rather than pointing the domain at your home IP and having to manage DDNS, you can utilize a cloud server to act as a bastion host via Tinc vpn and nginx.

Installation

Alternatives

Get Support

Give Support

Become a Supporter on Patreon

Contributing

Watch Live Development

You can watch live development of this project on Nick Busey's Twitch Stream.