🔧 Configuration Guide
The Looking Glass service is configured through a config.yaml
file. This guide will walk you through all available configuration options and their usage.
Getting Started
We recommend starting with our default configuration template available at https://laniakea.dev/config.yaml
. You can then customize it according to your requirements. Link
Note: Configuration changes are applied dynamically - no container restart is required.
Configuration Sections
Project Settings
The project
section defines the core settings of your Looking Glass instance:
project:
name: "FastPing Networks Looking Glass"
page_title: "FastPing Networks"
logo_url: "https://laniakea.dev/img/logo_dark.png"
logo_url_dark: "https://laniakea.dev/img/logo_light.png"
favicon_url: "https://laniakea.dev/favicon.ico"
css: "body { }"
dns_resolver: "https://cloudflare-dns.com"
top_html: "Welcome to the <b>Fast Ping Network's Looking Glass</b>. Here you will be able to perform diagnostic queries from our main nodes. "
bottom_html: "<a class='link-muted' href='#'>Fast Ping Networks</a> | <a class='link-muted' href='mailto:[email protected]'>Contact Support</a>"
theme: "light"
hide_theme_switch: false
hide_title: true
hide_footer: false
devices_dropdown: false
Property | Description |
---|---|
name | The title of your Looking Glass instance displayed in the UI |
page_title | The title of your Looking Glass instance displayed in page title(one in your browser tab) |
logo_url | URL to your company/organization logo |
logo_url_dark | URL to your company/organization logo in dark mode |
favicon_url | URL to your favicon for browser tabs |
theme | Theme to use. dark , light or auto |
hide_theme_switch | Option to hide theme switch button |
css | Custom CSS rules to customize the UI appearance |
top_html | Custom HTML to display at the top of the page(between logo and device selector) |
bottom_html | Custom HTML to display at the bottom of the page |
hide_title | Hide title of displayed at top of the page(name param) |
hide_footer | Hide created with laniakea looking glass attribution |
devices_dropdown | if true - devices list will be show as dropdown, if false - devices will show as cards |
dns_resolver | DNS-over-HTTPS (DoH) endpoint for domain resolution |
License Configuration
license_key: "eyJkYXRhIjp7Iml...wEf8CxZ834=="
Enter your valid license key to activate all features.
Rate Limiting
Control request limits to prevent abuse:
rate_limits:
requests_per_hour: 1000
This setting limits the number of requests from a single IP address (or /64 IPv6 subnet) per hour.
Caching Configuration
cache_timeout: 600
Define how long (in seconds) results should be cached before a new execution is required.
Command Configuration
Define the available network diagnostic commands:
commands:
- id: 1
name: "ping"
description: "ICMP ping test to measure latency"
command: "ping {input} -c 5"
rules: [ipv4, ipv6, domain]
- id: 2
name: "mtr"
description: "MTR (My Traceroute) network diagnostic tool"
command: "mtr -r -c5 {input}"
rules: [ipv4, ipv6, domain]
Each command requires:
Property | Description |
---|---|
id | Unique identifier for the command |
name | Display name in the UI |
description | Detailed description of the command's purpose |
command | The actual command to execute ({input} placeholder for user input) |
rules | Input validation rules: ipv4 , ipv6 , asn , domain , cidr or any |
Device Configuration
Configure network devices that will execute the commands:
devices:
- id: unique_number
name: "device_name"
ip: "device_ip"
username: "login_username"
password: "login_password"
ssh-key: "private_key"
location: "City, Country"
allowed_commands: [1,2,3]
port: 22
timeout: 30
emoji: "🏰"
system_type: 1
Device configuration parameters:
Parameter | Description |
---|---|
id | Unique device identifier |
name | Display name in the UI |
ip | Device IP address (IPv4/IPv6) or hostname |
username | SSH username |
password | SSH password (if required) |
ssh-key | Path to the key in the /etc/laniakea folder (RSA, DSA, ECDSA and Ed25519) |
port | SSH port (default: 22) |
timeout | SSH connection timeout in seconds |
location | Human-readable location (can be used as device description also) |
allowed_commands | Array of permitted command IDs |
emoji | Display emoji (e.g., country flag) |
system_type | Operating system identifier (see Supported OS section) |