Commit 3acc0a67 authored by Nick Busey's avatar Nick Busey

0.2 - Adding Dasher support

parent ef5902cd
# 0.2
* Added Dasher / Amazon Dash Button support
# 0.1
* Initial release
\ No newline at end of file
......@@ -2,7 +2,11 @@
# Deploy HomelabOS
deploy:
ansible-playbook -i hosts -t homelabos homelabos.yml
ansible-playbook -i hosts homelabos.yml
# Update just HomelabOS Services (skipping slow initial setup steps)
update:
ansible-playbook -i hosts -t deploy homelabos.yml
# Build the HomelabOs Documentation - Requires mkdocs with the Material Theme
build:
......
......@@ -39,7 +39,8 @@ To make it easy for anyone to own all their data in an easy and secure way, with
* [Convos](https://convos.by/) - Always-on IRC client (IRC bouncer)
* [Dashboard](https://github.com/causefx/Organizr) - Access all your HomelabOS services in one easy place.
* [Darksky](http://darksky.net/) - Local weather reported via [darksky-influxdb](https://github.com/ErwinSteffens/darksky-influxdb)
* Documentation - Offline, searchable documentation via [MkDocs](https://www.mkdocs.org/)
* [Dasher](https://github.com/maddox/dasher) - Amazon Dash button support
* [Documentation](https://nickbusey.gitlab.io/HomelabOS/) - Offline, searchable documentation via [MkDocs](https://www.mkdocs.org/)
* [Emby](https://emby.media/) - Media player
* [Firefly III](https://firefly-iii.org/) - Money management budgeting app
* [Gitea](https://gitea.io/en-US/) - Git hosting
......
# HomelabOS
Welcome to HomelabOS version 0.1! Your very own offline-first open-source data-center!
Welcome to HomelabOS version 0.2! Your very own offline-first open-source data-center!
HomelabOS is a collection of various separate services. You can find more information about each in the menu on the left.
......
# Dasher
[Dasher](https://github.com/maddox/dasher) provides support for triggering things when you press one of those free Amazon Dash buttons.
Follow [the directions on how to find your Dash button's MAC address](https://github.com/maddox/dasher#find-dash-button). Then plug that MAC address into `homelabos/templates/dasher.config.json`. Edit the URL, headers and body as needed for your use case. The default example shown causes [Home Assistant](/software/homeassistant) to toggle the Living Room lights.
## Access
No direct access, but like all the images you can tail the logs in [Portainer](/software/portainer)
\ No newline at end of file
......@@ -2,7 +2,7 @@
[Transmission](https://transmissionbt.com/) is available for all your torrenting needs.
HomelabOS uses [docker-transmission-openvpn](https://github.com/haugene/docker-transmission-openvpn) to only connect va a VPN. To disable this functionality replace the line `image: haugene/transmission-openvpn` with `image: linuxserver/transmission` in `homelabos/templates/docker-compose.yml` then run `make` again from the root directory to update HomelabOS with your new settings.
HomelabOS uses [docker-transmission-openvpn](https://github.com/haugene/docker-transmission-openvpn) to only connect via a VPN. To disable this functionality replace the line `image: haugene/transmission-openvpn` with `image: linuxserver/transmission` in `homelabos/templates/docker-compose.yml` then run `make` again from the root directory to update HomelabOS with your new settings.
## Access
......
---
- name: Make HomelabOS documentation directory.
file:
path: "{{ item }}"
state: directory
loop:
- /var/homelabos
- /var/homelabos/docs
- name: Configure HomelabOS Documentation.
copy: src=site dest=/var/homelabos/docs
\ No newline at end of file
---
# Configure the server itslef
# Configure the server itself
- hosts: all
become: True
gather_facts: True
......@@ -12,11 +12,24 @@
# Configure a TOR hidden service for remote access without a public IP
# - { role: systemli.hidden-service }
# Install and configure HomelabOS documentation
- hosts: all
become: True
gather_facts: True
tags:
- homelabos
- docs
roles:
- docs_deploy
# Install and configure HomelabOS services
- hosts: all
become: True
gather_facts: True
tags: homelabos
tags:
- homelabos
- deploy
roles:
- homelabos
---
- name: Make HomelabOS data directory.
file:
path: /var/homelabos
path: "{{ item }}"
state: directory
- name: Configure HomelabOS Documentation.
copy: src=site dest=/var/homelabos/docs
loop:
- /var/homelabos
- /var/homelabos/telegraf
- /var/homelabos/traefik
- /var/homelabos/dasher
- /var/homelabos/docker
- name: Configure Telegraf.
template: src=telegraf.conf dest=/var/homelabos/telegraf/telegraf.conf
......
{"buttons":[
{
"name": "Button 1",
"address": "74:75:48:95:fd:46",
"url": "http://homeassistant.{{ domain }}/api/services/switch/toggle",
"method": "POST",
"headers": {"X-HA-Access": "{{ homeassistant_api_key }}"},
"json": true,
"body": {"entity_id": "group.living_room"}
}
]}
\ No newline at end of file
......@@ -134,8 +134,7 @@ services:
dasher:
image: hijinx/dasher
restart: always
links:
- homeassistant
network_mode: host
volumes:
- /var/homelabos/dasher/config.json:/usr/src/app/config/config.json
......
......@@ -4,9 +4,9 @@ repo_url: https://gitlab.com/NickBusey/HomelabOS
edit_uri: edit/master/docs
theme:
name: 'material'
name: material
logo:
icon: 'cloud'
icon: home
pages:
- Home: index.md
......@@ -17,6 +17,7 @@ pages:
- Included Software:
- Convos: software/convos.md
- Darksky: software/darksky.md
- Dasher: software/dasher.md
- Emby: software/emby.md
- Firefly III: software/firefly.md
- Gitea: software/gitea.md
......
......@@ -116,7 +116,7 @@
<div class="md-flex__cell md-flex__cell--shrink">
<a href="/" title="HomelabOS" class="md-header-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</a>
</div>
......@@ -212,7 +212,7 @@
<label class="md-nav__title md-nav__title--site" for="drawer">
<span class="md-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</span>
HomelabOS
......@@ -362,6 +362,18 @@
<li class="md-nav__item">
<a href="/software/dasher/" title="Dasher" class="md-nav__link">
Dasher
</a>
</li>
<li class="md-nav__item">
<a href="/software/emby/" title="Emby" class="md-nav__link">
Emby
......
......@@ -120,7 +120,7 @@
<div class="md-flex__cell md-flex__cell--shrink">
<a href="." title="HomelabOS" class="md-header-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</a>
</div>
......@@ -216,7 +216,7 @@
<label class="md-nav__title md-nav__title--site" for="drawer">
<span class="md-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</span>
HomelabOS
......@@ -404,6 +404,18 @@
<li class="md-nav__item">
<a href="software/dasher/" title="Dasher" class="md-nav__link">
Dasher
</a>
</li>
<li class="md-nav__item">
<a href="software/emby/" title="Emby" class="md-nav__link">
Emby
......@@ -583,7 +595,7 @@
<h1 id="homelabos">HomelabOS</h1>
<p>Welcome to HomelabOS version 0.1! Your very own offline-first open-source data-center!</p>
<p>Welcome to HomelabOS version 0.2! Your very own offline-first open-source data-center!</p>
<p>HomelabOS is a collection of various separate services. You can find more information about each in the menu on the left.</p>
<h2 id="getting-help">Getting Help</h2>
<p>If you are having problems you can <a href="https://gitlab.com/NickBusey/HomelabOS/issues">file an issue on GitLab</a>.</p>
......
This diff is collapsed.
......@@ -120,7 +120,7 @@
<div class="md-flex__cell md-flex__cell--shrink">
<a href="../.." title="HomelabOS" class="md-header-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</a>
</div>
......@@ -216,7 +216,7 @@
<label class="md-nav__title md-nav__title--site" for="drawer">
<span class="md-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</span>
HomelabOS
......@@ -427,6 +427,18 @@
<li class="md-nav__item">
<a href="../../software/dasher/" title="Dasher" class="md-nav__link">
Dasher
</a>
</li>
<li class="md-nav__item">
<a href="../../software/emby/" title="Emby" class="md-nav__link">
Emby
......
......@@ -120,7 +120,7 @@
<div class="md-flex__cell md-flex__cell--shrink">
<a href="../.." title="HomelabOS" class="md-header-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</a>
</div>
......@@ -216,7 +216,7 @@
<label class="md-nav__title md-nav__title--site" for="drawer">
<span class="md-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</span>
HomelabOS
......@@ -406,6 +406,18 @@
<li class="md-nav__item">
<a href="../../software/dasher/" title="Dasher" class="md-nav__link">
Dasher
</a>
</li>
<li class="md-nav__item">
<a href="../../software/emby/" title="Emby" class="md-nav__link">
Emby
......
......@@ -120,7 +120,7 @@
<div class="md-flex__cell md-flex__cell--shrink">
<a href="../.." title="HomelabOS" class="md-header-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</a>
</div>
......@@ -216,7 +216,7 @@
<label class="md-nav__title md-nav__title--site" for="drawer">
<span class="md-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</span>
HomelabOS
......@@ -406,6 +406,18 @@
<li class="md-nav__item">
<a href="../../software/dasher/" title="Dasher" class="md-nav__link">
Dasher
</a>
</li>
<li class="md-nav__item">
<a href="../../software/emby/" title="Emby" class="md-nav__link">
Emby
......
......@@ -45,6 +45,12 @@
<changefreq>daily</changefreq>
</url>
<url>
<loc>/software/dasher/</loc>
<lastmod>2018-06-12</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/software/emby/</loc>
<lastmod>2018-06-12</lastmod>
......
......@@ -120,7 +120,7 @@
<div class="md-flex__cell md-flex__cell--shrink">
<a href="../.." title="HomelabOS" class="md-header-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</a>
</div>
......@@ -216,7 +216,7 @@
<label class="md-nav__title md-nav__title--site" for="drawer">
<span class="md-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</span>
HomelabOS
......@@ -353,10 +353,39 @@
<label class="md-nav__link md-nav__link--active" for="toc">
Convos
</label>
<a href="./" title="Convos" class="md-nav__link md-nav__link--active">
Convos
</a>
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#access" title="Access" class="md-nav__link">
Access
</a>
</li>
</ul>
</nav>
</li>
......@@ -377,6 +406,18 @@
<li class="md-nav__item">
<a href="../dasher/" title="Dasher" class="md-nav__link">
Dasher
</a>
</li>
<li class="md-nav__item">
<a href="../emby/" title="Emby" class="md-nav__link">
Emby
......@@ -526,6 +567,22 @@
<label class="md-nav__title" for="toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#access" title="Access" class="md-nav__link">
Access
</a>
</li>
</ul>
</nav>
</div>
</div>
......@@ -541,6 +598,7 @@
<h1 id="convos">Convos</h1>
<p><a href="https://convos.by/">Convos</a> is an always on IRC client. Login to your IRC network of choice, and Convos will stay online 24/7 for you, so you can always see any messages.</p>
<h2 id="access">Access</h2>
<p>It is available at <a href="http://irc.{{ domain }}/">http://irc.{{ domain }}/</a></p>
......
......@@ -120,7 +120,7 @@
<div class="md-flex__cell md-flex__cell--shrink">
<a href="../.." title="HomelabOS" class="md-header-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</a>
</div>
......@@ -216,7 +216,7 @@
<label class="md-nav__title md-nav__title--site" for="drawer">
<span class="md-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</span>
HomelabOS
......@@ -365,10 +365,51 @@
<label class="md-nav__link md-nav__link--active" for="toc">
Darksky
</label>
<a href="./" title="Darksky" class="md-nav__link md-nav__link--active">
Darksky
</a>
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#access" title="Access" class="md-nav__link">
Access
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../dasher/" title="Dasher" class="md-nav__link">
Dasher
</a>
</li>
......@@ -526,6 +567,22 @@
<label class="md-nav__title" for="toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#access" title="Access" class="md-nav__link">
Access
</a>
</li>
</ul>
</nav>
</div>
</div>
......@@ -542,6 +599,7 @@
<h1 id="darksky">Darksky</h1>
<p><a href="https://github.com/ErwinSteffens/darksky-influxdb">darksky-influxdb</a> pulls in weather data for your location every 2 minutes from <a href="http://darksky.net/">Darksky</a> and saves it to your <a href="../../software/influxdb">InfluxDB</a> instance.</p>
<p>You need to get an API key first from <a href="http://darksky.net/dev/">Darksky</a></p>
<h2 id="access">Access</h2>
<p>There is no direct access to it, but you can create graphs in <a href="../../software/grafana">Grafana</a> to visualize it.</p>
......@@ -578,13 +636,13 @@
</a>
<a href="../emby/" title="Emby" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<a href="../dasher/" title="Dasher" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Next
</span>
Emby
Dasher
</span>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
......
This diff is collapsed.
......@@ -120,7 +120,7 @@
<div class="md-flex__cell md-flex__cell--shrink">
<a href="../.." title="HomelabOS" class="md-header-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</a>
</div>
......@@ -216,7 +216,7 @@
<label class="md-nav__title md-nav__title--site" for="drawer">
<span class="md-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</span>
HomelabOS
......@@ -367,6 +367,18 @@
<li class="md-nav__item">
<a href="../dasher/" title="Dasher" class="md-nav__link">
Dasher
</a>
</li>
......@@ -377,10 +389,39 @@
<label class="md-nav__link md-nav__link--active" for="toc">
Emby
</label>
<a href="./" title="Emby" class="md-nav__link md-nav__link--active">
Emby
</a>
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#access" title="Access" class="md-nav__link">
Access
</a>
</li>
</ul>
</nav>
</li>
......@@ -526,6 +567,22 @@
<label class="md-nav__title" for="toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#access" title="Access" class="md-nav__link">
Access
</a>
</li>
</ul>
</nav>
</div>
</div>
......@@ -541,6 +598,7 @@
<h1 id="emby">Emby</h1>
<p><a href="https://emby.media/">Emby</a> is a media server. Just point it at your NAS collections of Movies and TV and you're off to the races.</p>
<h2 id="access">Access</h2>
<p>It is available at <a href="http://emby.{{ domain }}/">http://emby.{{ domain }}/</a></p>
......@@ -562,7 +620,7 @@
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">
<a href="../darksky/" title="Darksky" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<a href="../dasher/" title="Dasher" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
</div>
......@@ -571,7 +629,7 @@
<span class="md-footer-nav__direction">
Previous
</span>
Darksky
Dasher
</span>
</div>
</a>
......
......@@ -120,7 +120,7 @@
<div class="md-flex__cell md-flex__cell--shrink">
<a href="../.." title="HomelabOS" class="md-header-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</a>
</div>
......@@ -216,7 +216,7 @@
<label class="md-nav__title md-nav__title--site" for="drawer">
<span class="md-nav__button md-logo">
<i class="md-icon">cloud</i>
<i class="md-icon">home</i>
</span>
HomelabOS
......@@ -368,6 +368,18 @@
<li class="md-nav__item">
<a href="../dasher/" title="Dasher" class="md-nav__link">
Dasher
</a>
</li>