Skip to content

Ansible playbooks to easily deploy a smart home environment!

License

Notifications You must be signed in to change notification settings

shebpamm/hassible

Repository files navigation

📘 Hassible

Collection of Ansible playbooks to deploy your own smart home environment

Getting startedRequirementsConfiguration

Getting started

Hassible targets Ubuntu/Debian distros and deploys docker and homestack. It then configures and brings up the wanted containers defined in homestack.

Smart Home applications that Hassible manages:

Do note that for zigbee and zwave, you need to have a physical coordinator!

Additional benefits

  • Hassible also installs NGINX as a reverse proxy for you
  • Handles SSL Certs with Let's Encrypt!
  • Capability to handle dynamic dns with duckdns

Ansible Structure

The playbook homestack.yml executes all the roles.
For convenience, each role also has it's own playbook if you want to execute only a specific role.

Requirements

Hassible has been written for Ansible 2.9 so make sure you have that installed, for example in a virtualenv.

If you plan to use the zigbee2mqtt or zwavejs2mqtt roles, make sure you own the corresponding physical USB adapters!

Configuration

  1. Install required roles from Ansible Galaxy: ansible-galaxy install -r requirements.yml -p roles

  2. Start by editing the inventory file or pass your own inventory with the same group names.

    • Replace localhost with the host that you are targeting
    • Remove the host from groups you don't want
  3. Remove/Comment out roles that you don't care for from homestack.yml

  4. Set up a domain to point towards the host and ensure port 80 is open

  5. Edit files in group_vars

    • Set install location in group_vars/homestack
    • Change all default passwords (if you're real savvy use a vault!)
    • Configure domains for all the services you want to reverse proxy in group_vars/nginx_frontend
  6. Configure variables in group_vars as you see fit

  7. Run the playbook!
    ansible-playbook -i inventory homestack.yml

Optional: set up Duck DNS
  • Log in to duckdns
  • Create subdomain(s) and add them to group_vars/duckdns
  • Copy token to group_vars/duckdns

About

Ansible playbooks to easily deploy a smart home environment!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published