Snap recipe for the Open source home automation software that puts local control and privacy first.
Joachim M. Giæver ec887a72d9 Version bump | 1 year ago | |
---|---|---|
snap | 1 year ago | |
src | 3 years ago | |
.gitignore | 3 years ago | |
LICENSE.md | 4 years ago | |
README.md | 4 years ago |
Snap (Snapcraft.yaml) recipe for the Open source home automation software, Home Assistant that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
This page will only include specific information about the snap-version of Home Assistant. For general Home Assistant questions, see their official Help page and Community Forum.
Our tagging is reflecting the Home Assistant version numbers, but we might not release a tag for each version of Home Assistant.
This snap-version of Home Assistant was made with the intention of running a home automation system on multiple remote location. Snap was choosen as it is an transactional, self updating package manager, which will let us not have to travel to the location(s) to do updates on each system.
Based on this intention we have choosen a strict confinement, which should work out of the box on the Ubuntu Core operating system and similar. As changes to the snap on these systems are limited we have also built several other snaps that will integrate with this version or help manage devices remotely.
We're also working on a solution to extend the installation further so you can add additional libaries (curl, wget, ssh) that you will need to be able to build your system as you want.
Please file all issues using the main git-repository found at git.giaever.org.
/var/snap/home-assistant-snap/current
. You will need to have root access.sudo snap run --shell home-assistant-snap
and execute echo $SNAP_DATA
. This should return a path similar that is mentioned above, but containing a digit (the revision number of the current running version). When you have figured out the path, it's wise to exchange the revision number
with current
, as this number will change frequently and current
will always be linked to the currently used revision.acme-sh
's and home-assistant-snap's slot/plug with snap connect acme-sh:certs home-assistant-snap:certs
./var/snap/home-assistant-snap/current/.ssl
. You'll then add a http-entry in your configuration file.ddclient-snap
, see: cclient-snapMake sure you have Snapd installed on your system. See Installing snapd for a list of distributions with and without snap pre-installed, including installation instructions for those that have not.
$ snap install home-assistant-snap
We recommend that your download a pre-built version of this snap from The Snap Store, or at least make sure that you checkout the latest tag, as the master tag might contain faulty code during development.
$ git clone https://git.giaever.org/joachimmg/home-assistant-snap.git
# Go into directory
$ cd ./home-assistant-snap
# Checkout tag
$ git checkout <tag>
NOTE: You can find the latest tag with git ls-remote --tags origin
Make sure you have snapd (see Installing snapd) and latest version of Snapcraft. Install Snapcraft with
$ sudo snap install snapcraft --classic
Or update with
$ sudo snap refresh snapcraft
2.2 With multipass
From the «home-assistant-snap»-directory, run
$ snapcraft
Multipass will be installed and a virtual machine will boot up and build your snap. The final snap will be located in the same directory.
2.3 With LXD (required for Raspberry Pie)
Snapcraft will try to install multiplass and build the snap for you, but on Raspberry Pi it will fail. You will have to use an LXD container.
Install LXD and create a container
$ snap install lxd
$ snap lxd init
Make sure your user is a member of lxd-group
$ sudo adduser $USER lxd
Launch an Ubuntu 20.04 container instance
$ lxc launch ubuntu:20.04 home-assistant-snap
Make sure you're in the «home-assistant-snap»-directory and go into the shell of your newly created container
$ lxc exec -- home-assistant-snap /bin/bash
and run
$ SNAPCRAFT_BUILD_ENVIRONMENT=host snapcraft
when the build is complete, you'll have to exit the shell and pull the snap-file from the container. See lxc file pull --help
.
Install new built snap
$ sudo snap install ./home-assistant-snap_<source-tag>.snap --dangerous