Install InfluxDB OSS
This page provides directions for installing, starting, and configuring InfluxDB open source (OSS).
InfluxDB OSS installation requirements
Installation of the InfluxDB package may require
root or administrator privileges in order to complete successfully.
InfluxDB OSS networking ports
By default, InfluxDB uses the following network ports:
- TCP port
8086is available for client-server communication using the InfluxDB API.
- TCP port
8088is available for the RPC service to perform back up and restore operations.
In addition to the ports above, InfluxDB also offers multiple plugins that may
require custom ports.
All port mappings can be modified through the configuration file,
which is located at
/etc/influxdb/influxdb.conf for default installations.
Network Time Protocol (NTP)
InfluxDB uses a host’s local time in UTC to assign timestamps to data and for coordination purposes. Use the Network Time Protocol (NTP) to synchronize time between hosts; if hosts' clocks aren’t synchronized with NTP, the timestamps on the data written to InfluxDB can be inaccurate.
Installing InfluxDB OSS
For users who don’t want to install any software and are ready to use InfluxDB, you may want to check out our managed hosted InfluxDB offering.
For instructions on how to install the Debian package from a file, please see the downloads page.
Debian and Ubuntu users can install the latest stable version of InfluxDB using the
apt-get package manager.
For Ubuntu/Debian users, add the InfluxData repository with the following commands:
# influxdb.key GPG Fingerprint: 05CE15085FC09D18E99EFB22684A14CF2582E0C5 wget -q https://repos.influxdata.com/influxdb.key echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
# influxdb.key GPG Fingerprint: 05CE15085FC09D18E99EFB22684A14CF2582E0C5 curl -s https://repos.influxdata.com/influxdb.key > influxdb.key echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
Then, install and start the InfluxDB service:
sudo apt-get update && sudo apt-get install influxdb sudo service influxdb start
Or if your operating system is using systemd (Ubuntu 15.04+, Debian 8+):
sudo apt-get update && sudo apt-get install influxdb sudo systemctl unmask influxdb.service sudo systemctl start influxdb
For instructions on how to install the RPM package from a file, please see the downloads page.
Red Hat and CentOS users can install the latest stable version of InfluxDB using the
yum package manager:
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo [influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key EOF
Once repository is added to the
yum configuration, install and start the InfluxDB service by running:
sudo yum install influxdb sudo service influxdb start
Or if your operating system is using systemd (CentOS 7+, RHEL 7+):
sudo yum install influxdb sudo systemctl start influxdb
There are RPM packages provided by openSUSE Build Service for SUSE Linux users:
# add go repository zypper ar -f obs://devel:languages:go/ go # install latest influxdb zypper in influxdb
InfluxDB is part of the FreeBSD package system. It can be installed by running:
sudo pkg install influxdb
The configuration file is located at
/usr/local/etc/influxd.conf with examples in
Start the backend by executing:
sudo service influxd onestart
To have InfluxDB start at system boot, add
Use Homebrew to install InfluxDB on macOS:
brew update brew install influxdb@1
Multiple versions of InfluxDB with Homebrew
Installing both InfluxDB 1.8 and InfluxDB 2.0 with Homebrew can result in unexpected path and naming conflicts. You can always run the desired version by specifying the full path:
$ /usr/local/opt/influxdb/bin/influxd version InfluxDB 1.8.10 (git: none) build_date: 2021-04-01T17:55:08Z $ /usr/local/opt/influxdb@1/bin/influxd version InfluxDB v1.8.10 (git: unknown unknown)
Verify the authenticity of downloaded binary (optional)
For added security, follow these steps to verify the signature of your InfluxDB download with
(Most operating systems include the
gpg command by default.
gpg is not available, see the GnuPG homepage for installation instructions.)
Download and import InfluxData’s public key:
curl -s https://repos.influxdata.com/influxdb.key | gpg --import
Download the signature file for the release by adding
.ascto the download URL. For example:
Verify the signature with
gpg --verify influxdb-1.8.10_linux_amd64.tar.gz.asc influxdb-1.8.10_linux_amd64.tar.gz
The output from this command should include the following:
gpg: Good signature from "InfluxDB Packaging Service <email@example.com>" [unknown]
Configuring InfluxDB OSS
The system has internal defaults for every configuration file setting.
View the default configuration settings with the
influxd config command.
Note: If InfluxDB is being deployed on a publicly accessible endpoint, we strongly recommend authentication be enabled. Otherwise the data will be publicly available to any unauthenticated user. The default settings do NOT enable authentication and authorization. Further, authentication and authorization should not be solely relied upon to prevent access and protect data from malicious actors. If additional security or compliance features are desired, InfluxDB should be run behind a third-party service. Review the authentication and authorization settings.
Most of the settings in the local configuration file
/etc/influxdb/influxdb.conf) are commented out; all
commented-out settings will be determined by the internal defaults.
Any uncommented settings in the local configuration file override the
Note that the local configuration file does not need to include every
There are two ways to launch InfluxDB with your configuration file:
Point the process to the correct configuration file by using the
influxd -config /etc/influxdb/influxdb.conf
Set the environment variable
INFLUXDB_CONFIG_PATHto the path of your configuration file and start the process. For example:
echo $INFLUXDB_CONFIG_PATH /etc/influxdb/influxdb.conf influxd
InfluxDB first checks for the
-config option and then for the environment
See the Configuration documentation for more information.
Data and WAL directory permissions
Make sure the directories in which data and the write ahead log (WAL) are stored are writable for the user running the
Note: If the data and WAL directories are not writable, the
influxd service will not start.
The user running the
influxd process should have the following permissions for
directories in the InfluxDB file system:
Hosting InfluxDB OSS on AWS
Hardware requirements for InfluxDB
We recommend using two SSD volumes, using one for the
influxdb/wal and the other for the
Depending on your load, each volume should have around 1k-3k provisioned IOPS.
influxdb/data volume should have more disk space with lower IOPS and the
influxdb/wal volume should have less disk space with higher IOPS.
Each machine should have a minimum of 8GB RAM.
We’ve seen the best performance with the R4 class of machines, as they provide more memory than either of the C3/C4 class and the M4 class.
Configuring InfluxDB OSS instances
This example assumes that you are using two SSD volumes and that you have mounted them appropriately.
This example also assumes that each of those volumes is mounted at
For more information on how to do that see the Amazon documentation on how to Add a Volume to Your Instance.
You’ll have to update the configuration file appropriately for each InfluxDB instance you have.
... [meta] dir = "/mnt/db/meta" ... ... [data] dir = "/mnt/db/data" ... wal-dir = "/mnt/influx/wal" ... ... [hinted-handoff] ... dir = "/mnt/db/hh" ...
Authentication and Authorization
For all AWS deployments, we strongly recommend authentication be enabled. Without this, it is possible that your InfluxDB instance may be publicly available to any unauthenticated user. The default settings do NOT enable authentication and authorization. Further, authentication and authorization should not be solely relied upon to prevent access and protect data from malicious actors. If additional security or compliance features are desired, InfluxDB should be run behind additional services offered by AWS. Review the authentication and authorization settings.
InfluxDB OSS permissions
When using non-standard directories for InfluxDB data and configurations, also be sure to set filesystem permissions correctly:
chown influxdb:influxdb /mnt/influx chown influxdb:influxdb /mnt/db
For InfluxDB 1.7.6 or later, you must give owner permissions to the
init.sh file. To do this, run the following script in your
if [ ! -f "$STDOUT" ]; then mkdir -p $(dirname $STDOUT) chown $USER:$GROUP $(dirname $STDOUT) fi if [ ! -f "$STDERR" ]; then mkdir -p $(dirname $STDERR) chown $USER:$GROUP $(dirname $STDERR) fi # Override init script variables with DEFAULT values
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, use the following resources:
InfluxDB Cloud and InfluxDB Enterprise customers can contact InfluxData Support.