c0m4r/kula

By c0m4r

Updated 5 days ago

Lightweight, self-contained Linux® server monitoring tool

Image
Networking
Web servers
Operating systems
3

10K+

c0m4r/kula repository overview

K U L A

Lightweight, self-contained Linux® server monitoring tool.

Go Go JS JS License: GPL v3

Zero dependencies. No external databases. Single binary. Just deploy and go.

image


How to use

Docker

Temporary, no persistent storage

docker run --rm -it --name kula --pid host --network host -v /proc:/proc:ro c0m4r/kula:latest

With persistent storage:

docker run -d --name kula --pid host --network host -v /proc:/proc:ro -v kula_data:/app/data c0m4r/kula:latest
docker logs -f kula

Dashbord will be available at: http://localhost:27960

You can change default port and listen address in config.yaml or using environment variables:

KULA_LISTEN="127.0.0.1"
KULA_PORT=27960

e.g.

docker run --rm -it -e KULA_LISTEN="127.0.0.1" -e KULA_PORT="1234" --name kula --pid host --network host -v /proc:/proc:ro c0m4r/kula:latest
Environment Variables

Some settings can be overridden by environment variables

  • KULA_DIRECTORY overrides storage.directory
  • KULA_LOGLEVEL overrides logging.level
  • KULA_LISTEN overrides web.listen
  • KULA_PORT overrides web.port
  • KULA_UNIX_SOCKET overrides web.unix_socket
  • KULA_MOUNTS_DETECTION overrides collection.mounts_detection
  • KULA_BASE_PATH overrides web.base_path
Docker Compose
services:
  kula:
    image: c0m4r/kula:latest
    container_name: kula
    pid: "host" # Critical for monitoring host processes
    network_mode: "host" # Useful for network monitoring
    volumes:
      # To monitor the host system, we need access to host's /proc
      - /proc:/proc:ro

      # Mount the configuration file from the host
      - ./config.yaml:/app/config.yaml:ro

      # Persist data
      - kula_data:/app/data

    # Use 'serve' command
    command: [ "serve", "--config", "/app/config.yaml" ]

    restart: unless-stopped

volumes:
  kula_data:

Quick setup:

mkdir kula_docker
cd kula_docker
wget https://raw.githubusercontent.com/c0m4r/kula/refs/heads/main/addons/docker/docker-compose.yml
wget https://raw.githubusercontent.com/c0m4r/kula/refs/heads/main/config.example.yaml -O config.yaml
docker compose up -d
sleep 1 ; curl http://localhost:27960/health ; echo
docker logs -f kula

⚙️ Configuration

All settings live in config.yaml. See config.example.yaml for defaults.


📖 License

GNU Affero General Public License v3.0


🫶 Attributions

Tag summary

Content type

Image

Digest

sha256:5dc0d715c

Size

15.9 MB

Last updated

5 days ago

docker pull c0m4r/kula