This is a maintained fork of the archived hassio-addons/addon-influxdb.
| Component | Version |
|---|---|
| InfluxDB | 1.13.1-1 |
| Chronograf | 1.11.6 |
| Kapacitor | 1.8.8-1 |
| Base image | ghcr.io/hassio-addons/debian-base:9.5.1 |
armv7) support dropped: the 9.5.1 base image
only ships amd64 and aarch64.
Move InfluxDB 1.x data from an old add-on to a new one on Home Assistant OS without extra disk space (uses an atomic rename, not a copy).
mv, so the data is removed from the old add-on
and there is no fallback if anything goes wrong. Before you start,
create a full backup โ and ideally not only a Home Assistant snapshot:
- Full system / VM image snapshot (e.g. Proxmox, ESXi, or a disk image of the SD card / SSD) so you can roll back the entire HA OS instance.
- Or an off-box copy of
/mnt/data/supervisor/apps/data/<OLD_SLUG>to external storage.
A Home Assistant snapshot alone may be insufficient (large InfluxDB data is often excluded or too big), so a VM/disk-image level backup is strongly recommended.
- Access via the Advanced SSH & Web Terminal add-on with Protection Mode disabled.
- Both add-ons installed. Note their slugs (folder names) under
/mnt/data/supervisor/apps/data/. - A verified full backup / VM image (see warning above).
docker ps | grep -i influx
docker inspect <OLD_CONTAINER> --format '{{ range .Mounts }}{{ .Source }} -> {{ .Destination }}{{"\n"}}{{ end }}'
docker inspect <NEW_CONTAINER> --format '{{ range .Mounts }}{{ .Source }} -> {{ .Destination }}{{"\n"}}{{ end }}'The data volume is mapped to /data, e.g.
/mnt/data/supervisor/apps/data/<slug>.
In the Home Assistant UI:
Settings -> Add-ons -> <add-on> -> Stop
Stopping flushes the WAL and closes all files, ensuring consistent data.
Note: On HA OS, stopping an add-on removes its container (so docker cp
won't work afterwards - that's why we use a helper container below).
Both add-on folders live under the same partition, so a mv is an instant
rename. A helper Alpine container mounts the shared parent directory:
docker run --rm \
-v /mnt/data/supervisor/apps/data:/apps \
alpine sh -c "mv /apps/<OLD_SLUG>/influxdb \
/apps/<OLD_SLUG>/chronograf.db \
/apps/<OLD_SLUG>/kapacitor \
/apps/<OLD_SLUG>/secret \
/apps/<NEW_SLUG>/"Do NOT move options.json (managed by each add-on).
docker run --rm \
-v /mnt/data/supervisor/apps/data/<NEW_SLUG>:/dst \
alpine sh -c "ls -la /dst /dst/influxdb"Expected in /dst/influxdb: data/, meta/, wal/.
Start the new add-on in the HA UI, then check the logs:
docker logs --tail 30 <NEW_CONTAINER>Both add-ons use port 8086, but the hostname and credentials may differ.
In Home Assistant, add-ons are reachable by their slug as a hostname (slugs
contain hyphens, e.g. influxdb-vistalba). Use <NEW_SLUG> (the new add-on's
slug) as the hostname, or use the HA host IP instead.
influxdb:
host: <NEW_SLUG> # or HA host IP
port: 8086
database: homeassistant
username: <USER>
password: <PASS>
ssl: false
verify_ssl: falseGet username / password from the new add-on's Configuration tab.
Restart Home Assistant (or reload the InfluxDB integration) afterwards.
Connections -> Data sources -> <your InfluxDB source>:
| Field | Value |
|---|---|
| URL | http://<NEW_SLUG>:8086 |
| Database | homeassistant |
| User / Password | credentials from the new add-on |
| HTTP Method | GET or POST (as before) |
Click Save & Test - it must report "datasource is working".
# Add -username / -password if authentication is enabled
docker exec -it <NEW_CONTAINER> influx -username <USER> -password <PASS> \
-execute "SHOW DATABASES"
docker exec -it <NEW_CONTAINER> influx -username <USER> -password <PASS> \
-database homeassistant -execute "SHOW MEASUREMENTS" | headdocker exec -it <NEW_CONTAINER> influx -username <USER> -password <PASS> \
-execute "SHOW CONTINUOUS QUERIES"Confirm the CQ service is enabled:
docker exec -it <NEW_CONTAINER> sh -c "grep -A3 continuous /etc/influxdb/influxdb.conf"
# expected: enabled = trueVerify a CQ is actually firing (the CQ target should hold recent timestamps).
Replace <CQ_TARGET> with your actual continuous-query target name (list them
with SHOW CONTINUOUS QUERIES above):
docker exec -it <NEW_CONTAINER> influx -username <USER> -password <PASS> \
-database homeassistant \
-execute 'SELECT * FROM "<CQ_TARGET>"./.*/ ORDER BY time DESC LIMIT 5'- Home Assistant: confirm new points arrive (check the logs, or run a query filtered to a recent time range).
- Grafana: open a dashboard and confirm panels render current data.
Remove the old (deprecated) add-on only after all tests pass and you have confirmed your backup is intact.
- Timezone error in Grafana (
unable to find time zone CET): Newer Debian images split legacy zones into thetzdata-legacypackage, soCETis missing. Replacetz('CET')withtz('Europe/Zurich')in your queries (always included in standardtzdata), or set the timezone in Grafana's dashboard settings instead.
InfluxDB 1.x time series database with Chronograf and Kapacitor.
InfluxDB is an open source time series database optimized for high-write-volume. It's useful for recording metrics, sensor data, events, and performing analytics. It exposes an HTTP API for client interaction and is often used in combination with Grafana to visualize the data.
This app provides the InfluxDB 1.x series (InfluxQL, the 1.x HTTP API and
the classic database, user and retention policy model). It is not InfluxDB 2
or InfluxDB 3; those have a different API, data model and configuration. If
you are integrating with Home Assistant, use the influxdb integration with
api_version: 1, which is the default.
This app comes with Chronograf and Kapacitor pre-installed, which gives you a nice InfluxDB admin interface for managing your users, databases and data retention settings, and lets you peek inside the database using the Data Explorer.
๐ Read the full app documentation
Got questions?
You have several options to get them answered:
- The Home Assistant Community Apps Discord chat server for app support and feature requests.
- The Home Assistant Discord chat server for general Home Assistant discussions and questions.
- The Home Assistant Community Forum.
- Join the Reddit subreddit in /r/homeassistant
You could also open an issue here on GitHub.
This is an active open-source project. We are always open to people who want to use the code or contribute to it.
We have set up a separate document containing our contribution guidelines.
Thank you for being involved! ๐
The original setup of this repository is by Franck Nijhof.
For a full list of all authors and contributors, check the contributor's page.
Want some more functionality to your Home Assistant instance?
We have created multiple apps for Home Assistant. For a full list, check out our GitHub Repository.
MIT License
Copyright (c) 2018-2026 Franck Nijhof
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


