How to Install Beszel Monitoring Tool On Ubuntu 24.04
Beszel is a lightweight server monitoring platform that includes Docker statistics, historical data, and alert functions.
It has a friendly web interface, simple configuration, and is ready to use out of the box. It supports automatic backup, multi-user, OAuth authentication, and API access.
Prerequisites
Before installing Beszel, ensure you meet the following requirements:
- 
A system running Ubuntu 24.04. 
- 
A user account with sudo privileges. 
- A stable internet connection.
Update the System
First, update the package lists and upgrade installed packages to ensure the system is up-to-date,
apt update -y && sudo apt upgrade -y
apt-get update -y && sudo apt-get upgrade -y
apt autoremove -yRemove Conflicting Packages
To avoid potential conflicts, remove any pre-existing Docker-related packages:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; doneInstall Required Tools
Install the necessary tools for the installation process,
apt-get update
apt-get install -y ca-certificates curlAdd Docker’s Official GPG Key
Create a directory for storing the GPG key, download the key, and set the appropriate permissions,
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.ascSet Up Docker Repository
Add the Docker repository to your system’s source list,
echo   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" |   sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullUpdate the package lists,
apt-get updateInstall Docker
Install Docker and its associated plugins,
apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginVerify the installation by running a test container,
docker run hello-worldSet Up Beszel
Create a directory for Beszel,
mkdir beszel && cd beszelCreate a docker-compose.yml file,
nano docker-compose.ymlAdd the below content,
services:
  beszel:
    image: henrygd/beszel:latest
    container_name: beszel
    restart: unless-stopped
    extra_hosts:
      - host.docker.internal:host-gateway
    ports:
      - 8090:8090
    volumes:
      - ./beszel_data:/beszel_data
  beszel-agent:
    image: henrygd/beszel-agent:latest
    container_name: beszel-agent
    restart: unless-stopped
    network_mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      PORT: 45876
      # Do not remove quotes around the key
      KEY: 'UPDATE WITH YOUR PUBLIC KEY (copy from "Add system" dialog)'Save and close the file.
Start Beszel
Run the following command to start Beszel,
docker compose up -dThis command will pull the necessary images and start the Beszel and Beszel Agent containers.
Output:
root@vps:~/beszel# docker compose up -d
[+] Running 5/5
 ✔ beszel-agent Pulled                                                                                                            2.0s 
   ✔ 1d6277e752eb Pull complete                                                                                                   0.5s 
 ✔ beszel Pulled                                                                                                                  2.3s 
   ✔ e3fcf6752923 Pull complete                                                                                                   0.7s 
   ✔ a37714f3f0ed Pull complete                                                                                                   0.7s 
[+] Running 3/3
 ✔ Network beszel_default  Created                                                                                                0.1s 
 ✔ Container beszel-agent  Started                                                                                                0.7s 
 ✔ Container beszel        Started                                                                                                0.8s 
root@vps:~/beszel# Access the Beszel
Access the Beszel interface by opening a web browser and navigating to,
http://Your_Server_IP:8090
