• Stars
    star
    208
  • Rank 189,015 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🚢📦Grafana + InfluxDB + Speedtest.net results

docker-speedtest-grafana

Docker setup consisting out of Grafana incl. a pre-configured dashboard, InfluxDB and a speedtest.net CLI test runner.

Installation

  1. Make sure you've installed all requirements
  2. Clone this repository:
git clone https://github.com/frdmn/docker-speedtest-grafana
  1. Create a copy of the sample .env file and adjust it at will:
cp .env.sample .env
  1. Spin up the containers:
docker-compose up -d

Configuration

You can make use of the following environment variables / configurations:

Environment variable Default value Description
GRAFANA_PORT 3000 Port to bind Grafana webinterface on the host system
SPEEDTEST_SPEEDTEST_INTERVAL 3600 Interval/pause (in seconds) between speedtests
SPEEDTEST_HOST local Display name of the client
SPEEDTEST_SERVER none Optionally set specific speedtest.net server ID, otherwise use the closest
INFLUXDB_DB speedtest Database to save speedtest results
INFLUXDB_HOST influxdb Name of the InfluxDB host/containers
INFLUXDB_USERNAME root Username for InfluxDB authentication
INFLUXDB_PASSWORD root Password for InfluxDB authentication

Usage

Services

Start/create services

$ docker-compose up -d
Creating speedtest_influxdb_1  ... done
Creating speedtest_grafana_1   ... done
Creating speedtest_speedtest_1 ... done

Stop services

$ docker-compose stop
Stopping speedtest_influxdb_1  ... done
Stopping speedtest_grafana_1   ... done
Stopping speedtest_speedtest_1 ... done

Upgrade services

$ docker-compose stop
$ docker-compose pull
$ docker-compose rm
$ docker-compose up -d

Check logs

$ docker-compose logs -f
$ docker-compose logs -f grafana

Grafana

Dashboard

By default the dashboard shows all speedtest results. To filter for a specifc host, simply add a and host = 'local' statement in the WHERE clause of the SQL select.

Example (Download Time Serie):

SELECT mean("value") FROM "download" WHERE $timeFilter and host = 'local' GROUP BY time($interval) fill(null)

Administrative access

Access http://${HOSTNAME}:${GRAFANA_PORT} (http://localhost:3000 by default) and login using the following default credentials:

  • Username: admin
  • Password: admin

Contributing

  1. Fork it
  2. Create your feature branch:
git checkout -b feature/my-new-feature
  1. Commit your changes:
git commit -am 'Add some feature'
  1. Push to the branch:
git push origin feature/my-new-feature
  1. Submit a pull request

Requirements / Dependencies

  • Docker (incl. docker-compose)

Version

1.0.0

License

MIT

More Repositories

1

findmyhash

Python script to crack hashes using online services
Python
87
star
2

service-daemons

👹 This repository contains a lot of proper working start/stop-scripts or daemons for a variety of linux systems or even operating systems.
Shell
85
star
3

docker-rocketchat

🚢📦My `docker-compose.yml` file/setup to run Rocket.Chat in production
Shell
59
star
4

google-speedtest-chart

📈 Python script to create a beautiful Google Chart out of your speedtest results
Python
51
star
5

tar-multibackup

💾 Bash script to backup and cycle tar archives
Shell
47
star
6

tlstools

🔐 CLI tool to analyze, troubleshoot or inspect SSL certificates, requests or keys.
JavaScript
45
star
7

hostkeeper

💻 Vagrant box that comes with a DNS server and a web interface to manage LAN-wide /etc/hosts-modifications
JavaScript
44
star
8

dotfiles

📟 Ansible-based dotfile setup for macOS
Shell
29
star
9

octoprint-usb-autoconnect

udev hook to reconnect the serial connection of your 3D printer in OctoPrint
Shell
26
star
10

init.js

:octocat: A simple command line utility to quickly initialize developer workspaces / repositories
Roff
17
star
11

alfred-dongers

Alfred workflow to list unicode emoticons easily
PHP
16
star
12

rocketchat-export-channel-messages

Simple Node CLI tool to export all messages of a given Rocket.Chat channel or private group.
JavaScript
16
star
13

rocketchat-export-userlist

🚀 Simple Node CLI tool to export a complete user list of a Rocket.Chat server as CSV (or JSON) file
JavaScript
15
star
14

minebackup.sh

Bash script to backup Minecraft servers using rdiff-backup
Shell
15
star
15

docker-mailbox

Postfix, Dovecot, Roundcube and ViMbAdmin in a Docker boat
Shell
15
star
16

pushbullet-osx-services

🍎 A few services to push stuff to Pushbullet
14
star
17

simplecurses

🎇 Create simple ncurses windows with bash
Shell
12
star
18

alfred-ldap

🎩 Alfred workflow to search for telephone numbers of coworkers through an Active Directory/LDAP directory.
JavaScript
9
star
19

dnsbl-webutils

Web and commandline based DNSBL utilities
PHP
9
star
20

openssl-cert-tools

🗂NodeJS module to handle certificate related OpenSSL commands
JavaScript
7
star
21

twitgrab

Download any images or videos from public Tweets
JavaScript
6
star
22

alfred-imgur

🎩 Alfred workflow to upload image files to Imgur
JavaScript
6
star
23

LiveConfig-scripts

Repository to collect useful LiveConfig scripts
Shell
6
star
24

grunt-anybar

Grunt plugin to show the current build status in the AnyBar menu app.
JavaScript
5
star
25

docker-hastebin

🚢📦Dockerized version of hastebin - a pastebin clone written in NodeJS.
5
star
26

vmware-idle-snapshot-notifier

Python script to send out (Rocket.Chat, Slack, Microsoft Teams, Telegram, mail) notifications for unused/idle VM snapshots found on vCenter/ESXi
Python
5
star
27

PIA

🔐 Simple Bash (and AppleScipt) scripts to bulk add all of PrivateInternetAccess' network locations / VPN servers in OS X's network preferences.
Shell
5
star
28

docker-mediamachine

🚢📦Dockerized SabNZB + Sonarr + Radarr + Plex + Telegram control bots
JavaScript
5
star
29

uping

⬆️ Ping tool that stops as soon as the host comes back online
Shell
4
star
30

iMessage-PugBomber

🐶 Simple AppleScript that will send a lot of pug pictures, parsed by pugme.herokuapp.com via JSONHelper.
AppleScript
4
star
31

servant

💂‍♂️ Vagrant based web development system
Shell
4
star
32

telegram-WhatToEatBot

NodeJS based Telegram bot
JavaScript
4
star
33

package-snippets

Sublime Text 3 text snippets to quickly create git/GitHub related Markdown files like READMEs or license ones.
3
star
34

AndTekBar.app

📞 OS X (Cocoa) menu bar App, to login and logout in AndTek call centers.
Objective-C
3
star
35

openscad-philips-hue-wall-mount

📐 OpenSCAD based wall mount for a Philips Hue dimmer switch (🛠 WIP! 🚧)
OpenSCAD
3
star
36

pwm

Packal Workflow Manager
PHP
3
star
37

fail2sql

PHP
3
star
38

telegram-twitch-emote-bot

💬 Search and display Twitch emotes in Telegram chats
JavaScript
3
star
39

blog.frd.mn

My new blog and design (which was made by @rnarian)
CSS
3
star
40

Live.app

Live.app is a client side JavaScript web app to message your Xbox Live friends.
JavaScript
3
star
41

znc-logviewer

Node based web interface to browse through ZNC log files.
JavaScript
3
star
42

munin-rocketchat

Munin plugins for a RocketChat server
Python
3
star
43

docker-openvpn

🚢📦My docker-compose setup for running a personal OpenVPN server
2
star
44

openscad-leitz-paper-guide

📐 OpenSCAD based paper guide for Leitz 5008
OpenSCAD
2
star
45

old.frd.mn

Repository of my personal website
JavaScript
2
star
46

snapchat-mimic

📷 Add a Snapchat overlay without using Snapchat
Shell
2
star
47

age-calculator-action

:octocat: GitHub Action to calculate the age in years of a given date string
JavaScript
2
star
48

fivereborn-serverlist

Query FiveReborn master server for a list of available game servers
JavaScript
2
star
49

VillagerNames

(moved) Bukkit plugin to give Villager entities a nametag based on a configurable dictionary as soon as they spawn.
2
star
50

alfred-rexcape

(discont) Alfred workflow to escape a string RegEx compatible (i.e. search and replace with sed)
Python
1
star
51

webwhois

Simple, web-based domain availability lookup system with AutoDNS support. Can be embedded or used as standalone frontend.
JavaScript
1
star
52

generator-frdmn-bootstrap

Yeoman generator to quickly setup workspaces including Gulp, Bower and Twitter Bootstrap
HTML
1
star
53

giraCLI

🔆 Node CLI script to control a Gira home server
JavaScript
1
star
54

ddig

👉 Simple bash script to query the actual responsible DNS server of a specific domain/hostname
Shell
1
star
55

frdmn

:octocat: My GitHub README.md
1
star
56

warranty-manager

PHP
1
star
57

CommuniGate-scripts

Scripts for the CommuniGate Pro mail server system.
Perl
1
star
58

alfred-gira

🎩Simple workflow to control power outlets and light switches in my office
PHP
1
star
59

rocketchat-emojipacks

🚀Rocket.Chat compatible CLI for emojipacks
JavaScript
1
star
60

docker-hass

Home Assistant configuration repository (🛠WIP! 🚧)
Python
1
star
61

alfred-ciscocall

Simple Alfred workflow to initiate phone calls via a Cisco IP Phone
Shell
1
star
62

rocketchat-test-landscape

🚧 [WIP] Test landscape for Rocket.Chat instances
Shell
1
star
63

php-alfred

PHP utility class for Alfred Workflows
PHP
1
star
64

odig

♻️ A Bash script to lookup a hostname and and the PTR record of the given IP address at a stroke
Shell
1
star