CloudLinux.ro
Applications

How to install Kibana on a Cloud VPS

Updated 7/18/2026

Kibana is the visualization layer for Elasticsearch: dashboards, log exploration and analytics over your indexed data.

Self-hosted analytics means you own the data, GDPR compliance is straightforward and there are no event or visitor caps.

One-click install on cloudlinux.ro

The fastest way: Kibana installs automatically at the first boot of a new server.

  1. Create a Cloud VPS from the control panel.
  2. In the configuration step, pick Kibana from the app catalog.
  3. Start the server. The install runs in the background for a few minutes and its status shows on the server page.
  4. Access details and generated passwords are saved on the server in /root/app-credentials.txt. The app will be available on port 5601.

Manual install on any Ubuntu server

If you prefer doing it yourself, below is the exact script our automatic install runs. Execute it as root on a fresh Ubuntu server (24.04 recommended). It stops at the first error, and when it finishes you will find the access details in /root/app-credentials.txt.

export DEBIAN_FRONTEND=noninteractive
curl -fsSL https://get.docker.com | sh
sysctl -w vm.max_map_count=262144
echo 'vm.max_map_count=262144' > /etc/sysctl.d/99-elasticsearch.conf
STACK_VERSION=9.4.3
mkdir -p /opt/kibana && cd /opt/kibana
cat > docker-compose.yml <<EOF
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION}
    restart: always
    environment:
      - discovery.type=single-node
      - xpack.security.enabled=false
      - xpack.license.self_generated.type=basic
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es_data:/usr/share/elasticsearch/data
  kibana:
    image: docker.elastic.co/kibana/kibana:${STACK_VERSION}
    restart: always
    ports:
      - '5601:5601'
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    depends_on:
      - elasticsearch
volumes:
  es_data:
EOF
docker compose up -d
IP=$(hostname -I | awk '{print $1}')
printf 'Kibana: http://%s:5601\nElasticsearch (intern): http://elasticsearch:9200 (fara autentificare)\nAtentie: securitatea este dezactivata pentru simplitate, NU expune public fara firewall/proxy. Pornirea completa dureaza 2-3 minute.\n' "$IP" > /root/app-credentials.txt

You can also save this script as a recipe in your account and reuse it on any new server.

Put this guide into practice on your own VPS

EU cloud servers, billed hourly, ready in minutes, with one-click installs for dozens of apps.

See pricing

Related tutorials