Commit 5af52eef authored by Nick Busey's avatar Nick Busey

Marking version 0.1, much better documentation

parent c12cbf4e
......@@ -20,10 +20,12 @@ To make it easy for anyone to own all their data in an easy and secure way, with
## Planned Features
* Access from anywhere via TOR
* Automated HTTPS endpoints
* Dynamic DNS Support
* Automated Apple Health Import
* Automated LDAP Sync
* Self Updating
## Demo
......@@ -31,7 +33,6 @@ To make it easy for anyone to own all their data in an easy and secure way, with
## Included Software
* [Chronograf](https://www.influxdata.com/time-series-platform/chronograf/) - More pretty graphs. Easy data exploration
* [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)
......@@ -41,7 +42,6 @@ To make it easy for anyone to own all their data in an easy and secure way, with
* [Gitea](https://gitea.io/en-US/) - Git hosting
* [Grafana](https://grafana.com/) - Pretty graphs
* [Home Assistant](https://www.home-assistant.io/) - Home Automation
* [Huginn](https://github.com/huginn/huginn) - Open Source IFTTT replacement. Create agents that monitor and act on your behalf
* [InfluxDB](https://www.influxdata.com/time-series-platform/influxdb/) - Time series data storage
* [NextCloud](https://nextcloud.com/) - Private Cloud Storage, Calendar, Contacts, etc.
* [Paperless](https://github.com/danielquinn/paperless) - Document management
......@@ -55,8 +55,16 @@ To make it easy for anyone to own all their data in an easy and secure way, with
* BitWarden - Password manager
* BulletNotes - Note taking knowledgebase with kanban and calendar functionality.
* [Pi-hole](https://pi-hole.net/) - Ad blocking
* Chronograf
* Couchpotato
* FreshRSS
* Jackett
* NZBGet
* OwnTracksRecorder - https://github.com/owntracks/recorder
* [Pi-hole](https://pi-hole.net/) - Ad blocking
* Sonarr
* SynchThing
* urBackup
## Requirements
......
# HomelabOS
Welcome to HomelabOS! Your very own offline-first open-source data-center!
Welcome to HomelabOS version 0.1! Your very own offline-first open-source data-center!
## Getting Started
HomelabOS is a collection of various separate services. You can find more information about each in the menu on the left.
HomelabOS is a collection of various separate services. You can find links to them below. Several have their own native mobile apps available for integration. Simply point them at the URLs below and they will work.
## Getting Help
### [Chronograf](http://chronograf.{{ domain }}/)
### [Emby](http://emby.{{ domain }}/)
### [Gitea](http://git.{{ domain }}/)
### [Grafana](http://grafana.{{ domain }}/)
### [Home Assistant](http://homeassistant.{{ domain }}/)
[Home Assistant Documentation](https://www.home-assistant.io/docs/)
### [Transmission](http://torrent.{{ domain }}/)
Login with your default username and password `transmission`
\ No newline at end of file
If you are having problems you can [file an issue on GitLab](https://gitlab.com/NickBusey/HomelabOS/issues).
\ No newline at end of file
# Getting Started
Alright once you are all setup and ready to go you should be able to load Organizr at [http://{{ domain }}/](http://{{ domain }}/).
If you see `{ domain }` in the link above, you are either viewing these docs on the hosted GitLab pages and not actually through HomelabOS, or something is configured incorrectly.
## Using Organizr
You can click the `Settings` link, then `Edit Tabs` to be able to add links to all the various HomelabOS services.
In the very near future, HomelabOS will provision these tab links for you automatically.
The URLs for all the services can be found in their individual documentation section.
\ No newline at end of file
# Installation
Clone the repository if you have git `git clone git@gitlab.com:NickBusey/HomelabOS.git` or [download it from GitLab](https://gitlab.com/NickBusey/HomelabOS/-/archive/master/HomelabOS-master.zip).
Make sure you have Ansible 2.5+ installed.
Copy `group_vars/homelabos` to `host_vars/myserver` and change the settings to match your setup.
Once you have set at a very minimum the required fields in that file, you can begin the installation.
Now from inside the HomelabOS folder execute the terminal command `make`.
You can always change settings and re-run `make` to update the server with these settings.
\ No newline at end of file
# Convos
[Convos](https://convos.by/) 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.
It is available at [http://irc.{{ domain }}/](http://irc.{{ domain }}/)
\ No newline at end of file
# Darksky
[darksky-influxdb](https://github.com/ErwinSteffens/darksky-influxdb) pulls in weather data for your location every 2 minutes from [Darksky](http://darksky.net/) and saves it to your [InfluxDB](/software/influxdb) instance.
You need to get an API key first from [Darksky](http://darksky.net/dev/)
There is no direct access to it, but you can create graphs in [Grafana](/software/grafana) to visualize it.
\ No newline at end of file
# Emby
[Emby](https://emby.media/) is a media server. Just point it at your NAS collections of Movies and TV and you're off to the races.
It is available at [http://emby.{{ domain }}/](http://emby.{{ domain }}/)
\ No newline at end of file
# Firefly III
[Firefly III](https://firefly-iii.org/) is a money management app.
It is available at [http://money.{{ domain }}/](http://money.{{ domain }}/)
\ No newline at end of file
# Gitea
[Gitea](https://gitea.io/en-US/) is a Git hosting platform.
It is available at [http://git.{{ domain }}/](http://git.{{ domain }}/)
\ No newline at end of file
# Grafana
[Grafana](https://grafana.com/) is a Time Series Database graphing application.
You can use it to visualize the Weather data imported by [influxdb_darksky](software/influxdb_darksky)
\ No newline at end of file
# Home Assistant
[Home Assistant](https://www.home-assistant.io/) can automate just about any part of your home.
It is available at [http://homeassistant.{{ domain }}/](http://homeassistant.{{ domain }}/)
\ No newline at end of file
# InfluxDB
[InfluxDB](https://www.influxdata.com/time-series-platform/influxdb/) is the Time Series Database that [Darksky](/software/darksky) writes to and [Grafana](/software/grafana) can visualize.
It can also take data from [Home Assistant](/software/homeassistant) and many other sources.
There is no direct access, but you can access it in Grafana by creating a new InfluxDB data source pointing at host `influxdb`.
\ No newline at end of file
# NextCloud
[NextCloud](https://nextcloud.com/) is your Dropbox / Google Calendar replacement.
It is available at [http://nextcloud.{{ domain }}/](http://nextcloud.{{ domain }}/)
\ No newline at end of file
# Paperless
[Paperless](https://github.com/danielquinn/paperless) is a document management server. Point it at a folder on your NAS that your scanner is set to scan to, scan all your paper docs, have a searchable secure document archive.
It is available at [http://paperless.{{ domain }}/](http://paperless.{{ domain }}/)
\ No newline at end of file
# Portainer
[Portainer](https://www.portainer.io/) is a Docker management interface, for the more advanced user.
It is available at [http://docker.{{ domain }}/](http://docker.{{ domain }}/)
\ No newline at end of file
# Sonerezh
[Sonerezh](https://www.sonerezh.bzh/) is a music streaming server. Point it at the music collection on your NAS and you're off.
It is available at [http://music.{{ domain }}/](http://music.{{ domain }}/)
\ No newline at end of file
# Terminal
[Butterfly](georgeyord/butterfly-web-terminal) is available as a simple web terminal.
It is available at [http://terminal.{{ domain }}/](http://terminal.{{ domain }}/)
\ No newline at end of file
# Transmission
[Transmission](https://transmissionbt.com/) is available for all your torrenting needs.
It is available at [http://torrent.{{ domain }}/](http://torrent.{{ domain }}/)
\ No newline at end of file
# Set your variables here
# These are the default settings. Copy this file to `host_vars/myserver` then in that file set the values to match your setup.
# Default user name to create as admin with services
default_user_name: (required)
......@@ -9,6 +9,9 @@ default_password: (required)
# User name used to connect via ssh. Must have passwordless sudo.
ansible_ssh_user: (required)
# SSH accessible IP address
ansible_host: (required)
# Timezone of the server
common_timezone: 'Etc/UTC'
......
......@@ -21,6 +21,12 @@
src: docker-compose.yml
dest: /var/homelabos/docker/docker-compose.yml
# Need to append to file
# - name: Copy HomelabOS hosts file into place.
# template:
# src: docker-compose.yml
# dest: /var/homelabos/docker/docker-compose.yml
- name: Pull latest HomelabOS service docker images. (This could take a while the first time, it has to download quite a bit.)
command: docker-compose -f /var/homelabos/docker/docker-compose.yml pull
......
......@@ -270,32 +270,32 @@ services:
- "traefik.admin.protocol={{ protocol }}"
- "traefik.admin.port=8123"
huginn:
image: huginn/huginn
links:
- huginn_db:mysql
ports:
- 3132:3000
environment:
- HUGINN_DATABASE_NAME=huginn
- HUGINN_DATABASE_USERNAME=huginn
- HUGINN_DATABASE_PASSWORD=somethingsecret
labels:
- "traefik.enable=true"
- "traefik.admin.frontend.rule=Host:huginn.{{ domain }}"
- "traefik.admin.protocol={{ protocol }}"
- "traefik.admin.port=3000"
# huginn:
# image: huginn/huginn
# links:
# - huginn_db:mysql
# ports:
# - 3132:3000
# environment:
# - HUGINN_DATABASE_NAME=huginn
# - HUGINN_DATABASE_USERNAME=huginn
# - HUGINN_DATABASE_PASSWORD=somethingsecret
# labels:
# - "traefik.enable=true"
# - "traefik.admin.frontend.rule=Host:huginn.{{ domain }}"
# - "traefik.admin.protocol={{ protocol }}"
# - "traefik.admin.port=3000"
huginn_db:
image: mariadb
restart: always
volumes:
- /var/homelabos/huginn_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=huginn
- MYSQL_PASSWORD=somethingsecret
- MYSQL_DATABASE=huginn
- MYSQL_USER=huginn
# huginn_db:
# image: mariadb
# restart: always
# volumes:
# - /var/homelabos/huginn_db:/var/lib/mysql
# environment:
# - MYSQL_ROOT_PASSWORD=huginn
# - MYSQL_PASSWORD=somethingsecret
# - MYSQL_DATABASE=huginn
# - MYSQL_USER=huginn
influxdb:
image: influxdb
......@@ -576,7 +576,7 @@ services:
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/homelabos/urbackup/db/:/var/urbackup
- {{ nas_backups }}:/backup
- {{ nas_backups }}:/backup:rw
labels:
- "traefik.enable=true"
- "traefik.admin.frontend.rule=Host:backup.{{ domain }}"
......
site_name: HomelabOS
repo_url: https://gitlab.com/NickBusey/HomelabOS
edit_uri: edit/master/docs
theme:
name: 'material'
pages:
- Home: index.md
- Backups: backups.md
\ No newline at end of file
- Setup:
- Installation: setup/installation.md
- Getting Started: setup/gettingstarted.md
- Backups: setup/backups.md
- Included Software:
- Convos: software/convos.md
- Darksky: software/darksky.md
- Emby: software/emby.md
- Firefly III: software/firefly.md
- Gitea: software/gitea.md
- Grafana: software/grafana.md
- Home Assistant: software/homeassistant.md
- InfluxDB: software/influxdb.md
- NextCloud: software/nextcloud.md
- Paperless: software/paperless.md
- Portainer: software/portainer.md
- Terminal: software/terminal.md
- Transmission: software/transmission.md
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment