The leading open source software for time series analytics.


For this guide you should be familiar with the basic concepts of


grafana is licensed under the Apache License 2.0.

All relevant legal information can be found here


We need to prepare a couple of directories and create a database which is used by grafana.

Directory for storing the static files and default configuration:

[isabell@stardust ~]$ mkdir -p usr/share/grafana
[isabell@stardust ~]$

Directory for storing the custom configuration files:

[isabell@stardust ~]$ mkdir -p etc/grafana
[isabell@stardust ~]$

Directory for storing the log files:

[isabell@stardust ~]$ mkdir -p var/log/grafana
[isabell@stardust ~]$

Finally, create the mysql database for grafana:

[isabell@stardust ~]$ mysql -e "CREATE DATABASE isabell_grafana"
[isabell@stardust ~]$


Find the latest version of grafana for the platform linux from the download page, download and extract it and enter the extracted directory:

[isabell@stardust ~]$ wget
[isabell@stardust ~]$ tar xvzf grafana-10.0.5.linux-amd64.tar.gz
[isabell@stardust ~]$ cd grafana-10.0.5
[isabell@stardust grafana-10.0.5]$

Move the binary to ~/bin and the default configuration and html files to ~/usr/share/grafana.

[isabell@stardust grafana-10.0.5]$ mv bin/grafana-server ~/bin/
[isabell@stardust grafana-10.0.5]$ mv bin/grafana ~/bin/
[isabell@stardust grafana-10.0.5]$ mv bin/grafana-cli ~/bin/
[isabell@stardust grafana-10.0.5]$ mv conf public ~/usr/share/grafana
[isabell@stardust grafana-10.0.5]$


Configure web server


grafana is running on port 3000.

To make the application accessible from the outside, configure a web backend:

[isabell@stardust ~]$ uberspace web backend set / --http --port <port>
Set backend for / to port <port>; please make sure something is listening!
You can always check the status of your backend using "uberspace web backend list".
[isabell@stardust ~]$

Setup grafana

Create the file ~/etc/grafana/grafana.ini with the following content:

type = mysql
host =
name = isabell_grafana
user = isabell
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = "<mysql-password>"

reporting_enabled = false
check_for_updates = true
admin_user = admin
admin_password = password123


The admin_password MUST later be changed via the web interface when grafana is running.

Setup daemon

Create the file ~/etc/services.d/grafana.ini with the following content:

  -config %(ENV_HOME)s/etc/grafana/grafana.ini
  -homepath %(ENV_HOME)s/usr/share/grafana

What the arguments for grafana mean:

  • --config: The location of the custom configuration file we created.

  • --homepath: The location of the default configuration and the static files.

  • cfg:default.paths.logs: The location of the log files created by grafana.

Finishing installation

Start grafana

After creating the configuration, tell supervisord to refresh its configuration and start the service:

[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE                            RUNNING   pid 26020, uptime 0:03:14
[isabell@stardust ~]$

Now point your browser at your uberspace and you should see the grafana web interface.

Best practices


Change the default password which we configured in the configuration file ~/etc/grafana/grafana.ini!

Tested with grafana 10.0.5, Uberspace 7.15.4

Written by: Malte Krupa <>