Skip to content

pwFoo/HomelabOS

Repository files navigation

HomelabOS

Your very own offline-first open-source data-center!

Beta Software

This software has not reached version 1.0 and should therefore be considered unstable. While any tagged version should work well on it's 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.

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
  • OpenVPN

Demo

demo.gif

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.

Included Software

Requirements

A server running Ubuntu 18.04 accessible via paswordless ssh with a user that has passwordless sudo.

Ansible version 2.5+ installed on your computer (not the server).

Optional Items

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.

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.)

Support

Contributing

Please do!

Developing Locally

Run make develop to spin up a local instance inside a Vagrant machine. If you make changes to the Ansible scripts you can run make provision to run them again.

Working locally on the documentation

Follow the MkDocs Material Theme setup directions.

Then run mkdocs serve.

To build changes to the docs run make build.