Install InfluxDB 2 on Raspberry Pi

This guide shows how to install InfluxDB 2 on Raspberry Pi. InfluxDB is an open-source time-series database (TSDB). So, it is ideal to store sensor data with timestamps over a determined period of time.

Install InfluxDB 2 on Raspberry Pi

In previous tutorials, we showed you how to use InfluxDB cloud and send data from the ESP32 and ESP8266. The InfluxDB free cloud plan has some limitations that might not be suitable for your projects like the maximum 30-day data retention. If you want to have full control over your data, you can install InfluxDB on a local computer, like your Raspberry Pi.

The amount of data you can save will be limited to the storage of your Raspberry Pi, so make sure you use a microSD card with appropriate size storage.

Prerequisites

  1. MicroSD Card: The Pi doesn’t have built-in memory, so you’ll need a microSD card to install your OS. We’ll install the operating system on the microSD card. I recommend using a microSD card class 10 with at least 16GB of memory.
  2. Raspberry Pi 3 or Raspberry Pi 4
  3. 64-bit architecture—we’ll install Raspberry Pi OS (64-bit).

Install Raspberry Pi OS (64-bit)

InfluxDB 2 is only compatible with 64-bit architectures. So, you must be running Raspberry Pi OS (64-bit) or any other 64-bit OS (like Ubuntu, for example) to successfully install InfluxDB 2. Raspberry Pi OS (64-bit) is only compatible with Raspberry Pi 3 and 4.

Follow the next steps to install Raspberry Pi OS (64-bit).

1) Start by connecting the microSD card to your computer.

2) Go to the Raspberry Pi Software page.

3) Select and download the Raspberry Pi Imager (a tool to flash the OS on the microSD card) for your computer’s operating system.

Raspberry Pi Imager Download

4) Click on the downloaded file to install the Raspberry Pi Imager.

5) When the installation is complete, the Raspberry Pi Imager will open.

Raspberry Pi Imager Software

6) Click on Choose OS to select the Operating System. Select the Raspberry Pi OS (other) and then select Raspberry Pi OS (64-bit).

Raspberry Pi Imager Selecting Raspberry Pi OS 64-bit

7) Choose storage. You must choose the microSD card where you want to install the OS.

Raspberry Pi Imager Storage

8) The Raspberry Pi Imager allows you to access advanced settings to configure hostname, SSH, and Wi-Fi, among others—click on the gear icon to open advanced settings. If your window doesn’t show the gear icon, press CtrlShiftX to open the advanced setting window.

Install Raspberry Pi 64-bit Storage and OS selected

9) You can set hostname (the default will be raspberrypi), enable SSH, and set a password for SSH connection.

Raspberry Pi Imager Advanced Settings

10) Additionally, set up Wi-Fi with your local network credentials so that you can connect to your Raspberry Pi using Wi-Fi later on.

Raspberry Pi Advanced Settings

11) Set up your country and time zone. Finally, click Save.

Raspberry Pi Imager Advanced Settings

12) After selecting the operating system, storage, and advanced settings, click on write to start installing the operating system on the microSD card.

13) Wait a few seconds while it installs the Operating System.

14) When the installation is complete click on Continue. It will eject the microSD card safely.

15) Now, remove the card from your computer and insert it into your Raspberry Pi. Then, apply power to the Raspberry Pi to start it.

Install InfluxDB 2 on a Raspberry Pi

We’ll use SSH to communicate with the Raspberry Pi. If you’re using Windows, you can use a software like PuTTY. If you’re using Linux or Mac OS, you can use the Terminal.

If you don’t know how to establish an SSH connection with your Pi, check these instructions.

With an SSH connection established with your Raspberry Pi, run the following command (copy the complete command with CTRL-C and then paste it into the Terminal window with a right-click on the mouse).

wget -qO- https://repos.influxdata.com/influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null
export DISTRIB_ID=$(lsb_release -si); export DISTRIB_CODENAME=$(lsb_release -sc)
echo "deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list > /dev/null

sudo apt-get update && sudo apt-get install influxdb2

At some time, it will ask you to install additional packages. Press Y and hit Enter to accept. After installing, the Terminal window should look as follows:

InfluxDB Installed on Rpi

Type the following command to start InfluxDB as a background service on startup.

sudo service influxdb start

Run the following command to verify that InfluxDB is running as expected.

sudo service influxdb status

You should get something as follows:

InfluxDB running as a service

This means that InfluxDB is successfully running as a service.

Note: you may also want to check the official installation instructions here.

Accessing InfluxDB on Raspberry Pi

Now, you can access InfluxDB on your Raspberry Pi IP address port 8086. My Raspberry Pi IP address is 192.168.1.106, so to access InfluxDB, I just need to type the following in my web browser:

192.168.1.106:8086

To get your Raspberry Pi IP address, you can run the following command:

hostname -I

When you first access InfluxDB, you’ll see the following screen. Click on Get Started.

InfluxDB Get Started Screen

You’ll need to set up an initial user. Fill in the form details, you can use whatever names you want. You need to remember the username and password so that you can access InfluxDB data later on.

Then, click on Continue to proceed.

InfluxDB Get Started Screen create user

Then, you can click on Quick Start.

InfluxDB ready to go

You’ll be redirected to the Getting Started screen.

InfluxDB Getting Started Screen

Wrapping Up

Congratulations! You’ve successfully installed InfluxDB on your Raspberry Pi and set up an initial user, organization, and bucket.

You are now ready to load data to InfluxDB.

You can follow one of the next tutorials to get started loading data from the ESP32 or ESP8266 to InfluxDB:

Thanks for reading.



Build Web Server projects with the ESP32 and ESP8266 boards to control outputs and monitor sensors remotely. Learn HTML, CSS, JavaScript and client-server communication protocols DOWNLOAD »

Build Web Server projects with the ESP32 and ESP8266 boards to control outputs and monitor sensors remotely. Learn HTML, CSS, JavaScript and client-server communication protocols DOWNLOAD »


Enjoyed this project? Stay updated by subscribing our newsletter!

10 thoughts on “Install InfluxDB 2 on Raspberry Pi”

  1. post#3

    Another great way to use a pi headless, is using VNC. Up to five devices can be fully remotely used via the internet (Windows, linux, android, iphone, rpis, whatever…).
    Within the own network an home you can use as many devices as you want.
    VNC is preinstalled on any rpi os with desktop. A truly great tool!
    TEAMVIEWER also works very good, and some of the other remote tools.

    With them you can work on serveral pis as if they would have a dedicated screen. It works even via a slow Edge-Connection on an old remote rasperry pi zero.Clumsy, but it works. If you have a newer pi then you can work even with 64kBit/s reasonably.

    Reply
    • Thanks for sharing that.
      I never thought of using Teamviewer with the Raspberry Pi. But it is indeed a smart way to access the Raspberry Pi “screen”.
      Regards,
      Sara

      Reply
      • I first used TEAMVIEWER, but after a while they came along with “commercial usage”, which was not the case. I then switched to VNC. They left me alone and do my projects. I tested AnyDesk as well, and maybe this could be the best of all three in terms of features. E.g. the filetransfer function of AnyDesk is the best, and the user interface also. However the free version looks like crippleware. So, as a conclusion for makers, VNC is the best choice overall.

        Reply
  2. Influxdb does not install.
    I get message “404 not found [ip:13.225.195.48. 443]

    I tried several times but get same result.

    Reply
  3. Hi!

    Just to let you know that I did this tutorial but using an Ubuntu container in Proxmox instead of a physical Raspberry PI. I used container template “ubuntu-21.04-standard_21.04-1_amd64.tar”. The only situation is that the container does not have GPG installed, but you can use command “apt install gpg” to install it. Do this just before running the “wget …etc, etc” commands.

    As always, great and simple tutorial from RandomNerd!!!

    Reply
  4. Hello.
    I just want to ask if there will be influxDB2 and microPython with ESP. There are tutorials on GitHub, but I “drowned” in it :). I created an account in InfluxDB, I started in Thonny, and here I “stuck”. InfluxDB only locally. Thanks.

    Reply
    • Hi.
      I’m sorry, I didn’t understand what you mean.
      Do you want a similar tutorial using MicroPython?
      What examples did you experiment with?
      Regards,
      Sara

      Reply
  5. Circumvent the cloud

    From what I know, InfluxDB 2 can be installed on a vServer. However, even the cheapest one costs about 100 Eur/y.

    So, a way to publish InfluxDB Data in the Web via a free server would be great.

    Alternative: dygraphs
    dygraphs, is a charting alternative with almost no requirements. No database needed, the metrics an be stored in simple CSVs. This runs everywhere.

    However, it would be greate to have access to databases such as InfluxDB, SQLite, …
    With the proper code this would be possible.

    Reply

Leave a Comment

Download our Free eBooks and Resources

Get instant access to our FREE eBooks, Resources, and Exclusive Electronics Projects by entering your email address below.