English
€EUR
Monitoring

Grafana

Compatible with the Infrawire installer

Grafana behind Caddy over HTTPS, ready for your data sources

Minimum requirements
  • 1 GB RAM
Developer
Grafana Labs
Version
Latest stable
License
AGPL-3.0
Systems
Debian 12, Debian 13, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04

About Grafana

Grafana is an open source web application for data visualisation and observability. It connects to a wide range of data sources (Prometheus, Loki, InfluxDB, PostgreSQL, MySQL and Elasticsearch, among others) to build dashboards and define alerts. DevOps teams, system administrators and small organisations use it to monitor servers, applications or business metrics.

When the VPS is delivered, the cloud-init recipe installs Docker with the official get.docker.com script, then starts two containers with Docker Compose from /opt/grafana: Grafana (image grafana/grafana:latest) and Caddy 2. Grafana listens only on 127.0.0.1:3000. Caddy publishes the interface over HTTPS on port 443, using a self-signed certificate (tls internal) tied to the server's public IP address.

Open sign-up is disabled (GF_USERS_ALLOW_SIGN_UP=false). Grafana's data is stored in a named Docker volume, grafana_data, so it survives a restart or a recreation of the container. Both services are set to restart: always.

What you can do with Grafana

  • Grafana ready at delivery

    The container is running and reachable over HTTPS on the server's IP, with no manual installation. All you have to do is log in and add your data sources.

  • HTTPS through a Caddy reverse proxy

    Caddy listens on port 443 and forwards traffic to Grafana on 127.0.0.1:3000. The certificate is self-signed at first, so your browser will show a warning until you configure a domain.

  • Persistent data in a volume

    Grafana's database and dashboards are stored in the Docker volume grafana_data. Caddy's certificates and configuration have their own volumes as well.

  • Public sign-up disabled

    The GF_USERS_ALLOW_SIGN_UP=false setting prevents anyone from creating an account from the login page. Users are added from Grafana's administration area.

  • A readable Docker Compose stack

    The whole configuration lives in /opt/grafana/docker-compose.yml and /opt/grafana/Caddyfile. Updating or changing a setting uses the usual Compose commands.

Get started with Grafana

From order to production in a few minutes.

  1. 1

    Order the VPS with Grafana

    Choose a Linux VPS in Paris or Frankfurt (Debian 12 or 13, Ubuntu 20.04, 22.04 or 24.04), then tick Grafana in the "Applications" tab of the order form.

  2. 2

    Log in to the interface

    Once the server is delivered, give it a few minutes to install Docker and start the containers. Then open https://SERVER_IP in your browser and accept the self-signed certificate warning. The initial account is admin / admin, and Grafana asks you to change the password on first login.

    Bash
    ssh root@SERVER_IP cd /opt/grafana && docker compose ps
  3. 3

    Add a data source

    In Grafana, open Connections, then Data sources, add your source (Prometheus, Loki, PostgreSQL and so on) and test the connection. Then create your first dashboard, or import one from the community catalogue on grafana.com.

  4. 4

    Secure it for production

    Point a domain name at the server, then replace the IP with your domain in the Caddyfile (remove the tls internal line so Caddy can obtain a public certificate) and in GF_SERVER_ROOT_URL and GF_SERVER_DOMAIN in docker-compose.yml. Open ports 80 and 443 in your firewall, and back up the grafana_data volume.

    Bash
    cd /opt/grafana nano Caddyfile nano docker-compose.yml docker compose up -d

Grafana use cases

  • Server and VPS monitoring

    Paired with Prometheus and node_exporter, Grafana shows CPU load, memory, disk and network for all your machines on a single screen.

  • Application dashboards

    Visualise application metrics, logs with Loki or response times, and trigger alerts to email or a chat service.

  • Reporting on SQL databases

    Connect PostgreSQL or MySQL to track business metrics (sales, sign-ups, stock) as charts shared with your team.

  • Trading data tracking

    A time-series database such as InfluxDB, combined with Grafana, lets you chart performance or positions. A [VPS for trading](/vps-forex) suits this kind of continuous data collection well.

Grafana FAQ

The initial account is admin with the password admin. Grafana asks you to change it on first login. Do it straight away, because the interface is reachable from the Internet.

More about Grafana

Where the files are

Everything is in /opt/grafana: the install-grafana.sh setup script, the docker-compose.yml and the Caddyfile. The data lives in named Docker volumes, not in this directory.

Bash
cd /opt/grafana docker compose ps docker compose logs -f grafana

Updating Grafana

The image uses the latest tag. To move to the newest version, pull the image and recreate the container. Back up the volume before a major upgrade. You can also pin a specific tag in the Compose file to keep control over versions.

Bash
cd /opt/grafana docker compose pull docker compose up -d

Backing up your data

The grafana_data volume holds Grafana's SQLite database, including your dashboards, users and data sources. Archiving it through a temporary container is enough for a simple copy. The real volume name is prefixed with the Compose project name, so check it with docker volume ls.

Bash
docker volume ls docker run --rm -v grafana_grafana_data:/data -v $(pwd):/backup alpine tar czf /backup/grafana-backup.tar.gz -C /data .

Certificate and domain name

As long as the Caddyfile uses tls internal, the certificate is self-signed and your browser will flag it. If you have a domain whose DNS record points to the server, Caddy can obtain a public certificate, provided ports 80 and 443 are reachable. You can register a domain on the domain names page.

Stay up to date with the latest offers, discounts and special promotions.

View promotions

We use cookies

We use analytics cookies to improve your experience on our site. No data is sold to third parties. Learn more in our privacy policy.