mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-08-15 17:42:29 +02:00
The add-on reported version 8.14.3 but the shipped image was still Elasticsearch 7.17.9 — the Dockerfile BUILD_UPSTREAM was never bumped, and the builder uses that ARG. The homeassistant-elasticsearch integration requires 8.14+, so configuration failed (#2849). - Upgrade to Elasticsearch 8.19.18 (latest 8.x; 9.x cannot read indices created in 7.x) - Add automatic 7.x -> 8.x data migration with a guard that aborts on unsupported paths (downgrade, or data more than one major behind). The version marker is written only after ES answers on 9200, so a failed upgrade never masks the true on-disk data lineage - Default xpack.security.enabled=false to preserve plain-HTTP behavior the HA component expects; override via ES_SETTING_XPACK_SECURITY_ENABLED - Fix the env_vars option, which never worked (the image has no s6-overlay, so the cont-init stack never ran) - Remove the ingest-attachment plugin install (bundled since ES 8.0, which broke the 8.x build) - Replace line-number-based entrypoint patching with a proper init script sourced via a pattern-anchored injection - Add updater.json pinned to the 8.19 line to prevent version drift and accidental 9.x jumps Fixes #2849 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
117 lines
6.4 KiB
Markdown
117 lines
6.4 KiB
Markdown
# Home assistant add-on: elasticsearch server
|
||
|
||
|
||
I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons
|
||
|
||
If this add-on saves you time or makes your setup easier, I would be very grateful for your support!
|
||
|
||
[![Buy me a coffee][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
|
||
[![Donate via PayPal][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
|
||
|
||
## Addon informations
|
||
|
||

|
||

|
||

|
||
|
||
[](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexbelgium/hassio-addons&utm_campaign=Badge_Grade)
|
||
[](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml)
|
||
[](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml)
|
||
|
||
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
|
||
[paypal-badge]: https://img.shields.io/badge/Donate%20via%20PayPal-0070BA?logo=paypal&style=flat&logoColor=white
|
||
|
||
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
|
||
|
||
[](https://github.com/alexbelgium/hassio-addons/stargazers)
|
||
|
||

|
||
|
||
## About
|
||
|
||
---
|
||
|
||
[Elasticsearch](https://github.com/elastic/elasticsearch) is the distributed, RESTful search and analytics engine at the heart of the [Elastic Stack](https://www.elastic.co/fr/products/).
|
||
You can use Elasticsearch to store, search, and manage data for:
|
||
|
||
- Logs
|
||
- Metrics
|
||
- A search backend
|
||
- Application monitoring
|
||
- Endpoint security
|
||
- ... and more!
|
||
|
||
To learn more about Elasticsearch’s features and capabilities, see their [product page](https://www.elastic.co/fr/elasticsearch/) .
|
||
|
||
Here, this addon is used to single node that can be called from other addons needing it.
|
||
|
||
## Installation
|
||
|
||
---
|
||
|
||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.
|
||
|
||
1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA) [](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons)
|
||
2. Install this add-on.
|
||
3. Click the `Save` button to store your configuration.
|
||
4. Set the add-on options to your preferences
|
||
5. Start the add-on.
|
||
6. Check the logs of the add-on to see if everything went well.
|
||
|
||
## Configuration
|
||
|
||
Elasticsearch runs as a single-node cluster accessible at <http://homeassistant:9200>.
|
||
This addon has no web interface - it provides API endpoints for other applications.
|
||
|
||
### API Endpoints
|
||
|
||
- **HTTP API**: Port 9200 for REST API calls
|
||
- **Transport**: Port 9300 for internal cluster communication
|
||
|
||
### Options
|
||
|
||
No configuration options are available through the addon interface. Elasticsearch is pre-configured for single-node operation with:
|
||
- Memory allocation: 1GB heap (ES_JAVA_OPTS)
|
||
- Discovery type: single-node
|
||
- Memory lock: enabled
|
||
- Tini subreaper: enabled
|
||
|
||
### Example Usage
|
||
|
||
Connect other applications to Elasticsearch using:
|
||
- URL: `http://homeassistant:9200`
|
||
- No authentication required (local network only)
|
||
|
||
### Integration Examples
|
||
|
||
- **Nextcloud**: Configure Full Text Search app to use this Elasticsearch instance
|
||
- **Home Assistant**: Use with the Elasticsearch component for event publishing
|
||
|
||
### Environment variables
|
||
|
||
Use the add-on `env_vars` option to pass extra environment variables (uppercase or lowercase names). See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
|
||
|
||
Elasticsearch settings can be set through variables named `ES_SETTING_<SETTING_WITH_UNDERSCORES>`; for example `ES_SETTING_XPACK_SECURITY_ENABLED` maps to `xpack.security.enabled`.
|
||
|
||
### Security
|
||
|
||
To preserve the plain-HTTP behavior of previous versions (and compatibility with the Home Assistant Elasticsearch integration), `xpack.security.enabled` defaults to `false`. To enable Elasticsearch security, add `ES_SETTING_XPACK_SECURITY_ENABLED` with value `true` in `env_vars`.
|
||
|
||
## Upgrading from 7.x
|
||
|
||
The upgrade to Elasticsearch 8.x is automatic and **one-way**:
|
||
|
||
1. Take a Home Assistant backup of the add-on before updating.
|
||
2. Update the add-on and start it. Elasticsearch upgrades the existing indices in place on first start — this can take a while on large datasets; do **not** stop the add-on during the first start.
|
||
3. The previous bundled config directory is archived to `/data/config.bak-<old-version>`; re-apply any custom settings to the new config.
|
||
|
||
Downgrading afterwards is not supported by Elasticsearch — restore the backup instead.
|
||
|
||
## Integration with HA
|
||
|
||
Component : https://community.home-assistant.io/t/elasticsearch-component-publish-home-assistant-events-to-elasticsearch/66877
|
||
|
||
## Support
|
||
|
||
Create an issue on github
|