From f09c0ddc55e5c3d534de0b84dbf75ce439c61054 Mon Sep 17 00:00:00 2001 From: Greg Date: Fri, 7 Apr 2017 14:37:56 -0500 Subject: [PATCH] added install instructions for FreeNAS, added the logo image as well (#2392) --- source/_docs/installation.markdown | 6 ++++ source/_docs/installation/freenas.markdown | 38 +++++++++++++++++++++ source/images/supported_brands/freenas.png | Bin 0 -> 12105 bytes 3 files changed, 44 insertions(+) create mode 100644 source/_docs/installation/freenas.markdown create mode 100644 source/images/supported_brands/freenas.png diff --git a/source/_docs/installation.markdown b/source/_docs/installation.markdown index 604102d383b..7de9486a425 100644 --- a/source/_docs/installation.markdown +++ b/source/_docs/installation.markdown @@ -79,6 +79,12 @@ Home Assistant provides multiple ways to be installed. A requirement is that you
Vagrant
+ +
+ +
+
FreeNAS
+
Once Home Assistant is installed, execute the following code in a console/terminal to check if the setup was successful: diff --git a/source/_docs/installation/freenas.markdown b/source/_docs/installation/freenas.markdown new file mode 100644 index 00000000000..cdda8f6b1d7 --- /dev/null +++ b/source/_docs/installation/freenas.markdown @@ -0,0 +1,38 @@ +--- +layout: page +title: "Installation on FreeNAS 9.10" +description: "Installation of Home Assistant on your FreeNAS." +date: 2017-04-06 17:00 +sidebar: true +comments: false +sharing: true +footer: true +--- + +[Freenas](http://www.freenas.org) is a free and open-source network-attached storage (NAS) software based on FreeBSD and the OpenZFS file system. It is licensed under the terms of the BSD License and runs on commodity x86-64 hardware. + +This has been tested on the FreeNAS 9.10. These instructions assume you already have a running and accessible jail. For more information on creating a jail follow the official FreeNAS 9.10.x documentation [HERE](https://doc.freenas.org/9.10/jails.html#adding-jails). Once you have the jail follow the steps below. + +Install the necessary Python Packages. + +```bash +# pkg update +# pkg upgrade +# pkg install python35 +# pkg install py35-sqlite3 +# python3.5 -m ensurepip +``` + +Install Home Assistant itself. + +```bash +# pip3 install homeassistant +``` + +Finally start Home Assistant. + +```bash +# hass --open-ui +``` + +Some suggestions on using a tmux to keep it running can be found in the FreeNAS forums [HERE](https://forums.freenas.org/index.php?threads/how-to-home-assistant-in-a-jail-tested-on-9-10.50371/) diff --git a/source/images/supported_brands/freenas.png b/source/images/supported_brands/freenas.png new file mode 100644 index 0000000000000000000000000000000000000000..867815e809144293c4c30d95e31caffe92e54d22 GIT binary patch literal 12105 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 Zc3y>cI)^I^`sc=j$w(-Q*NPg4{uio|H%0&e literal 0 HcmV?d00001