diff --git a/atom.xml b/atom.xml index cc84cece0d..c106b2bca7 100644 --- a/atom.xml +++ b/atom.xml @@ -4,7 +4,7 @@
There are several reasons why it makes sense to run Home Assistant in a virtualenv. A virtualenv encapsulates all aspect of a Python environment within a single directory tree. That means the Python packages you install for Home Assistant won’t interact with the rest of your system and vice-versa. It means a random upgrade for some other program on your computer won’t break HA, and it means you don’t need to install a bunch of Python packages as root.
+There are several reasons why it makes sense to run Home Assistant in a virtual environment. A virtualenv encapsulates all aspect of a Python environment within a single directory tree. That means the Python packages you install for Home Assistant won’t interact with the rest of your system and vice-versa. It means a random upgrade for some other program on your computer won’t break Home Assitant, and it means you don’t need to install Python packages as root.
-Virtualenvs are pretty easy to setup. This example will walk through one method of setting one up (there are certainly others). We’ll be using Debian in this example (as many HA users are running Raspbian on a Raspberry Pi), but all of the Python related steps should be the same on just about any platform.
+Virtualenvs are pretty easy to setup. This example will walk through one method of setting one up (there are certainly others). We’ll be using Debian in this example (as many Home Assistant users are running Raspbian on a Raspberry Pi), but all of the Python related steps should be the same on just about any platform.
-sudo apt-get update @@ -104,9 +104,9 @@ sudo pip install --upgrade virtualenv
This step is optional, but it’s a good idea to give services like Home Assistant their own user. It gives you more granular control over permissions, and reduces the exposure to the rest of your system in the event there is a security related bug in HA. This is a reasonably Linux oriented step, and will look different on other OS’s (or even other Linux distros).
+This step is optional, but it’s a good idea to give services like Home Assistant their own user. It gives you more granular control over permissions, and reduces the exposure to the rest of your system in the event there is a security related bug in Home Assistant. This is a reasonably Linux oriented step, and will look different on other operating systems (or even other Linux distributions).
sudo adduser --system hass @@ -114,7 +114,7 @@ sudo pip install --upgrade virtualenv
Home Assistant stores its config in $HOME/.homeassistant
by default, so in this case, it would be in /home/hass/.homeassistant
Home Assistant stores its configuration in $HOME/.homeassistant
by default, so in this case, it would be in /home/hass/.homeassistant
If you plan to use a Z-Wave controller, you will need to add this user to the dialout
group
This can be anywhere you want, but I generally put stuff related to servers in /srv. You also need to change the ownership of the directory to the user you created above (if you created one)
+This can be anywhere you want, but I generally put stuff related to servers in /srv
. You also need to change the ownership of the directory to the user you created above (if you created one)
sudo mkdir /srv/hass @@ -134,8 +134,7 @@ sudo chown hass /srv/hass
## Step 3: Become the new user
This is obviously only necessary if you created a ‘hass’ user, but if you did, be sure to switch to that user whenever you install things in your virtualenv, otherwise you’ll end up with mucked up permissions.
@@ -147,7 +146,7 @@ sudo chown hass /srv/hassThe ‘su’ command means ‘switch’ user. We use the ‘-s’ flag because the hass user is a system user and doesn’t have a default shell by default (to prevent attackers from being able to log in as that user).
-All this step does is stick a Python environment in the directory we’re using. That’s it. It’s just a directory. There’s nothing ‘special’ about it, and it is entirely self-contained.
@@ -159,7 +158,7 @@ sudo chown hass /srv/hass -source /srv/hass/bin/activate @@ -169,9 +168,9 @@ sudo chown hass /srv/hassAfter that, your prompt should include ‘(hass)’.
-Step 6: Install Home Assistant
+Step 6: Install Home Assistant
-Once your virtualenv has been activated, you don’t need to ‘sudo’ any of your pip commands. Pip will be installing things in the virtualenv, which our ‘hass’ user has permission to modify.
+Once your virtualenv has been activated, you don’t need to
sudo
any of your pip commands. Pip will be installing things in the virtualenv, which our ‘hass’ user has permission to modify.(hass)pip3 install --upgrade homeassistant @@ -181,9 +180,9 @@ sudo chown hass /srv/hassAnd that’s it… you now have Home Assistant installed, and you can be sure that every bit of it is contained in /srv/hass
-Finally… Run Home Assistant
+Finally… Run Home Assistant
-There are two ways to launch Home Assistant. If you are ‘in’ the virtualenv, you can just run
+hass
and it will work as normal. If the virtualenv is not activated, you just use the ‘hass’ executable in that bin directory I mentioned earlier. There is one caveat… Because Home Assistant stores it’s config in the user’s home directory, we need to be the hass user.There are two ways to launch Home Assistant. If you are ‘in’ the virtualenv, you can just run
hass
and it will work as normal. If the virtualenv is not activated, you just use thehass
executable in thebin
directory mentioned earlier. There is one caveat… Because Home Assistant stores it’s configuration in the user’s home directory, we need to be the userhass
user or specify the configuration with-c
.-sudo -u hass -H /srv/hass/bin/hass @@ -191,21 +190,21 @@ sudo chown hass /srv/hassThe ‘-H’ flag is important. It sets the
+$HOME
environment variable to/home/hass
so hass can find its configs.The ‘-H’ flag is important. It sets the
-$HOME
environment variable to/home/hass
sohass
can find its configuration.Upgrading Home Assistant
+Upgrading Home Assistant
-Upgrading HA is simple, just repeat steps 3, 5 and 6.
+Upgrading Home Assistant is simple, just repeat steps 3, 5 and 6.
-Starting Home Assistant on boot
+Starting Home Assistant on boot
-The autostart instructions on home-assistant.io will work just fine, just be sure to replace
+/usr/bin/hass
with/srv/hass/bin/hass
and specify the ‘hass’ user where appropriate.The autostart instructions will work just fine, just be sure to replace
-/usr/bin/hass
with/srv/hass/bin/hass
and specify thehass
user where appropriate.Installing python-openzwave
+Installing python-openzwave
-If you want to use Z Wave devices, you’ll need to install python-openzwave in your virtualenv. This requires a small tweak to the instructions on home-assistant.io
+If you want to use Z-Wave devices, you will need to install
-python-openzwave
in your virtualenv. This requires a small tweak to the instructions on home-assistant.ioInstall the dependencies as normal (note: you’ll need to do this as your normal user, since ‘hass’ isn’t a sudoer).
+Install the dependencies as normal (Note: you’ll need to do this as your normal user, since ‘hass’ isn’t a sudoer).
$ sudo apt-get install cython3 libudev-dev python3-sphinx python3-setuptools diff --git a/sitemap.xml b/sitemap.xml index a9e1781049..4c21e23df3 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1600,26 +1600,26 @@https://home-assistant.io/demo/frontend.html -2016-05-13T19:11:20+00:00 +2016-05-13T20:24:27+00:00 https://home-assistant.io/demo/index.html -2016-05-13T19:11:20+00:00 +2016-05-13T20:24:27+00:00 https://home-assistant.io/googlef4f3693c209fe788.html -2016-05-13T19:11:20+00:00 +2016-05-13T20:24:27+00:00 https://home-assistant.io/static/fonts/roboto/DESCRIPTION.en_us.html -2016-05-13T19:11:20+00:00 +2016-05-13T20:24:27+00:00 https://home-assistant.io/static/fonts/robotomono/DESCRIPTION.en_us.html -2016-05-13T19:11:20+00:00 +2016-05-13T20:24:27+00:00 https://home-assistant.io/static/mdi-demo.html -2016-05-13T19:11:20+00:00 +2016-05-13T20:24:27+00:00