InfluxDB 1.8 → 2.x/3.x: recommended migration strategy for Docker-based HA setup?

Hi,

I’m looking for advice on migrating from InfluxDB 1.8.10 to a newer version (2.x or 3.x) in a Home Assistant–managed environment.

Current setup

  • Platform: Home Assistant Supervised (Debian)

  • Home Assistant Core: 2026.3.3

  • Supervisor: 2026.03.2

  • InfluxDB: 1.8.10

  • InfluxDB add-on: 5.0.2

In this setup, InfluxDB runs as a Supervisor-managed Docker container (add-on), and Home Assistant writes time-series data into it (used by Grafana for dashboards).

Goal

Upgrade to a newer InfluxDB version without losing historical data, which is critical for long-term analysis.

Questions

  1. Is there an official or recommended migration path from InfluxDB 1.8 → 2.x or 3.x in this kind of containerized setup?

  2. Would you recommend:

    • in-place upgrade (if even possible), or

    • running a parallel instance and migrating data?

  3. What are the best tools/methods to migrate data:

    • influxd upgrade

    • export/import (line protocol)

    • replication/bridge approaches?

  4. Any known pitfalls when migrating from InfluxQL → Flux/SQL, especially for Grafana dashboards?

  5. Has anyone done this specifically in a Home Assistant / Docker-based environment?

Any real-world experiences or recommended approaches would be highly appreciated.

Thanks in advance!

This is a lot of very general questions, and it’s hard to tackle all of them in-depth without effectively writing a full migration guide.

Whether you go to 2.x or 3.x is probably the first thing you need to solve - InfluxDB 2 uses Flux as its language, which while powerful for time-series use cases, is entirely different from InfluxQL, and it will require you to rewrite all your queries. If you migrate to 3.x, it supports InfluxQL (and SQL), so that would have less friction. We’re optimistic that 3.x is the future of InfluxDB, and it is receiving a ton of active development and improvements, but you need to make sure the version you move to is the one you want.

Upgrading from 1.x to 2.x is relatively easy, and we have a docs page that serves as a jumping off point for how to go about doing this. If you want to move to 2.x, I’d recommend starting there, and if you have specific questions or issues with the process, feel free to ask away. It should work fine regardless of your environment.

There’s some tooling on the way to make migrating from 1.x to 3.x easier, but right now, how you go about doing it is a question of what your requirements and priorities are.

At this time, the easiest approach is to simply spin up your 3.x instance, do dual-writing to 1.x and 3.x at the same time, and then shutter your 1.x instance once you’ve been dual writing for the full duration of your retention policy. If that works for you, it minimizes for effort and friction, but does require two instances of InfluxDB running and will take a bit of time.

It’s not incredibly difficult to write a script that batch reads out of 1.x and writes to a new 3.x instance, and depending on the volume of your data for a home assistant, it could be pretty easy. There’s a page in the documentation about how to optimize writes for large volumes of data, and that’s a good place to look for best practices. This would be a front-door, e.g. simply reading data out of your 1.x instance, then writing it into 3.x as if it were data from anywhere else.

Let us know how it goes or if you run into any issues!