Home Assistant: Difference between revisions
imported>Fab m Fix naming |
imported>Mweinelt PostgreSQL support |
||
Line 26: | Line 26: | ||
}; | }; | ||
</syntaxHighlight> | |||
= Adding postgresql support = | |||
Home-assistant supports PostgreSQL as a database backend for, among other things, its logger and history components. It's a lot more scalable and typically provides faster response times than the SQLite database, that is used by default. | |||
Remember to make backups of your database, for home-assistant is becoming more and more stateful and has moved away from a completely declarative YAML configuration for new and core components. | |||
<syntaxHighlight lang=nix> | |||
services.home-assistant = { | |||
package = (pkgs.home-assistant.override { | |||
extraPackages = py: with py; [ psycopg2 ]; | |||
}); | |||
config.recorder.db_url = "postgresql://@/hass"; | |||
}; | |||
services.postgresql = { | |||
enable = true; | |||
ensureDatabases = [ "hass" ]; | |||
ensureUsers = [{ | |||
name = "hass"; | |||
ensurePermissions = { | |||
"DATABASE hass" = "ALL PRIVILEGES"; | |||
}; | |||
}]; | |||
}; | |||
</syntaxHighlight> | </syntaxHighlight> | ||
Revision as of 07:58, 18 January 2021
Home Assistant is an open source home automation software that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts.
Home Assistant with nginx as a reverse proxy
If you run a public Home Assistant instance it is a good idea to enable SSL/TLS. The following configuration generates a certificate using letsencrypt:
services.nginx = {
virtualHosts."hass.your-domain.tld" = {
addSSL = true;
enableACME = true;
extraConfig = ''
proxy_buffering off;
'';
locations."/".extraConfig = ''
proxy_pass http://127.0.0.1:8123;
proxy_set_header Host $host;
proxy_redirect http:// https://;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
'';
};
};
Adding postgresql support
Home-assistant supports PostgreSQL as a database backend for, among other things, its logger and history components. It's a lot more scalable and typically provides faster response times than the SQLite database, that is used by default.
Remember to make backups of your database, for home-assistant is becoming more and more stateful and has moved away from a completely declarative YAML configuration for new and core components.
services.home-assistant = {
package = (pkgs.home-assistant.override {
extraPackages = py: with py; [ psycopg2 ];
});
config.recorder.db_url = "postgresql://@/hass";
};
services.postgresql = {
enable = true;
ensureDatabases = [ "hass" ];
ensureUsers = [{
name = "hass";
ensurePermissions = {
"DATABASE hass" = "ALL PRIVILEGES";
};
}];
};
Add custom lovelace modules
This pull request describes how to add custom lovelace modules.