Replaces JSON data with YAML

This commit is contained in:
Alicia Sykes 2021-03-30 21:19:59 +01:00
parent 3320929beb
commit 479221c5d5
4 changed files with 342 additions and 395 deletions

View File

@ -5,9 +5,9 @@
</div> </div>
<div v-else class="there-are-items"> <div v-else class="there-are-items">
<Item <Item
v-for="item in items" v-for="(item, index) in items"
:key="`${groupId}-${item.id}`" :id="`${index}_${makeId(item.title)}`"
:id="`${groupId}-${item.id}`" :key="`${index}_${makeId(item.title)}`"
:url="item.url" :url="item.url"
:title="item.title" :title="item.title"
:description="item.description" :description="item.description"
@ -36,6 +36,11 @@ export default {
Collapsable, Collapsable,
Item, Item,
}, },
methods: {
makeId(str) {
return str.replace(/\s+/g, '-').replace(/[^a-zA-Z ]/g, '').toLowerCase();
},
},
}; };
</script> </script>

View File

@ -1,57 +1,49 @@
--- ---
site-settings: pageInfo:
title: Server Dashboard title: Hello World
description: List of all running services description: ''
items: sections:
- id: '0' - id: '0'
name: Firewall name: Firewall
collapsed: false collapsed: false
cols: 3 cols: 3
items: items:
- id: '001' - title: OPNsense
title: OPNsense
description: Firewall Central Management description: Firewall Central Management
icon: networking/opnsense icon: networking/opnsense
iconType: img iconType: img
url: https://192.168.1.1 url: https://192.168.1.1
- id: '002' - title: NetData
title: NetData
description: System resource usage on firewall description: System resource usage on firewall
icon: networking/netdata icon: networking/netdata
iconType: img iconType: img
url: http://192.168.1.1:19999/ url: http://192.168.1.1:19999/
- id: '003' - title: MalTrail
title: MalTrail
description: Malicious traffic detection system description: Malicious traffic detection system
icon: networking/maltrail icon: networking/maltrail
iconType: img iconType: img
url: 192.168.1.1:8338 url: 192.168.1.1:8338
- id: '004' - title: Ntopng
title: Ntopng
description: Network traffic probe and network use monitor description: Network traffic probe and network use monitor
icon: networking/ntop icon: networking/ntop
iconType: img iconType: img
url: 192.168.1.1:3001 url: 192.168.1.1:3001
- id: '005' - title: Sensei
title: Sensei
description: Additional data features description: Additional data features
icon: networking/sensei icon: networking/sensei
iconType: img iconType: img
url: https://192.168.1.1/ui/sensei/ url: https://192.168.1.1/ui/sensei/
- id: '006' - title: Monit
title: Monit
description: Status of firewall system alerts description: Status of firewall system alerts
icon: networking/monit icon: networking/monit
iconType: img iconType: img
url: https://192.168.1.1/ui/monit/status url: https://192.168.1.1/ui/monit/status
- id: '007' - title: Firewall Logs
title: Firewall Logs
description: Real-time view of firewall data and logs description: Real-time view of firewall data and logs
icon: networking/logs icon: networking/logs
iconType: img iconType: img
url: https://192.168.1.1/ui/diagnostics/firewall/log url: https://192.168.1.1/ui/diagnostics/firewall/log
- id: '008' - title: WireGuard
title: WireGuard
description: Manage WireGuard client and server on firewall description: Manage WireGuard client and server on firewall
icon: networking/wireguard icon: networking/wireguard
iconType: img iconType: img
@ -61,70 +53,64 @@ items:
collapsed: false collapsed: false
cols: 2 cols: 2
items: items:
- id: '001' - title: Pi-Hole
title: Pi-Hole
description: DNS settings for ad & tracker blocking description: DNS settings for ad & tracker blocking
provider: Cockpit provider: Cockpit
iconType: img iconType: img
icon: networking/pihole icon: networking/pihole
url: http://192.168.130.2/admin url: http://192.168.130.2/admin
- id: '002' - title: PiAlert
title: PiAlert
description: Presence monitoring and ARP scanning description: Presence monitoring and ARP scanning
provider: GoAccess provider: GoAccess
iconType: img iconType: img
icon: networking/pialert icon: networking/pialert
url: http://192.168.130.2/pialert/ url: http://192.168.130.2/pialert/
- id: '003' - title: SmokePing
title: SmokePing
description: Network latency monitoring description: Network latency monitoring
iconType: img iconType: img
icon: networking/smokeping icon: networking/smokeping
url: http://192.168.130.2:8086/ url: http://192.168.130.2:8086/
- id: '004' - title: StatPing
title: StatPing
description: Up-time monitoring for local service description: Up-time monitoring for local service
iconType: img iconType: img
icon: networking/statping icon: networking/statping
url: http://192.168.130.2:8083/ url: http://192.168.130.2:8083/
- id: '005' - title: LibreSpeed
title: LibreSpeed
description: Local network speed and latency test description: Local network speed and latency test
iconType: img iconType: img
icon: networking/librespeed icon: networking/librespeed
url: http://192.168.130.2:49154/ url: http://192.168.130.2:49154/
- id: '006' - title: NetData
title: NetData
description: Real-time system resource usage description: Real-time system resource usage
iconType: img iconType: img
icon: networking/netdata icon: networking/netdata
url: http://192.168.130.2:19999 url: http://192.168.130.2:19999
- id: '007' - title: Portainer
title: Portainer
description: Docker container management description: Docker container management
iconType: img iconType: img
icon: networking/portainer icon: networking/portainer
url: http://192.168.130.2:9000/ url: http://192.168.130.2:9000/
- id: '008' - title: cAdvisor
title: cAdvisor
description: Container monitoring description: Container monitoring
iconType: img iconType: img
icon: networking/cadvisor icon: networking/cadvisor
url: http://192.168.130.2:8084/ url: http://192.168.130.2:8084/
- id: '009' - title: Glances
title: Glances
description: Simple resource usage description: Simple resource usage
iconType: img iconType: img
icon: networking/glances icon: networking/glances
url: http://192.168.130.2:61208 url: http://192.168.130.2:61208
- id: '010' - title: Dozzle
title: Prometheus description: Docker container web log viewer
iconType: img
icon: networking/dozzle
url: http://192.168.130.2:8093
- title: Prometheus
description: System Statistics Aggregation with PromQL description: System Statistics Aggregation with PromQL
iconType: img iconType: img
icon: networking/prometheus icon: networking/prometheus
url: http://192.168.130.2:8090/ url: http://192.168.130.2:8090/
- id: '011' - title: Grafana
title: Grafana
description: Data visualised on dashboards description: Data visualised on dashboards
iconType: img iconType: img
icon: networking/grafana icon: networking/grafana
@ -134,68 +120,57 @@ items:
collapsed: false collapsed: false
cols: 3 cols: 3
items: items:
- id: '001' - title: Modem
title: Modem
description: ISP Router Modem Combo description: ISP Router Modem Combo
iconType: img iconType: img
icon: '' icon: ''
url: http://192.168.1.5 url: http://192.168.1.5
- id: '002' - title: Wireless Access Point
title: Wireless Access Point
description: View clients connected to WiFi description: View clients connected to WiFi
icon: '' icon: ''
iconType: img iconType: img
url: http://192.168.1.109/info.php url: http://192.168.1.109/info.php
- id: '003' - title: Fing
title: Fing
description: Monitor connectivity issues, ISP quality, health checks and troubleshooting description: Monitor connectivity issues, ISP quality, health checks and troubleshooting
provider: Fing provider: Fing
icon: '' icon: ''
iconType: img iconType: img
url: https://app.fing.com/ url: https://app.fing.com/
- id: '004' - title: Switch
title: Switch
description: Manage VLANs on Ubiquity Ethernet switch description: Manage VLANs on Ubiquity Ethernet switch
icon: '' icon: ''
iconType: img iconType: img
url: "/" url: "/"
- id: '007' - name: External Services
name: External Services
collapsed: true collapsed: true
cols: 1 cols: 1
items: items:
- id: '001' - title: DuckDNS
title: DuckDNS
description: Dynamic DNS for fixed public IP description: Dynamic DNS for fixed public IP
icon: networking/duckdns icon: networking/duckdns
iconType: img iconType: img
url: https://www.duckdns.org/ url: https://www.duckdns.org/
- id: '002' - title: BorgBase
title: BorgBase
description: Off-site system Borg backups description: Off-site system Borg backups
icon: networking/borgbase icon: networking/borgbase
iconType: img iconType: img
url: https://www.borgbase.com/repositories url: https://www.borgbase.com/repositories
- id: '003' - title: Mullvad
title: Mullvad
description: Hosted VPN provider description: Hosted VPN provider
icon: networking/mullvad icon: networking/mullvad
iconType: img iconType: img
url: https://mullvad.net/en/account/ url: https://mullvad.net/en/account/
- id: '004' - title: ZeroTier
title: ZeroTier
description: Secure networks between devices description: Secure networks between devices
icon: networking/zeroteir icon: networking/zeroteir
iconType: img iconType: img
url: https://my.zerotier.com/ url: https://my.zerotier.com/
- id: '005' - title: HealthChecks
title: HealthChecks
description: Cron Job Monitoring description: Cron Job Monitoring
icon: networking/healthchecks icon: networking/healthchecks
iconType: img iconType: img
url: https://healthchecks.io/checks/ url: https://healthchecks.io/checks/
- id: '006' - title: ISP - Vodafone
title: ISP - Vodafone
description: Broadband internet provider description: Broadband internet provider
icon: networking/vodafone icon: networking/vodafone
iconType: img iconType: img
@ -205,26 +180,22 @@ items:
collapsed: false collapsed: false
cols: 1 cols: 1
items: items:
- id: '001' - title: Public IP
title: Public IP
description: Check public IP and associated data description: Check public IP and associated data
icon: '' icon: ''
iconType: img iconType: img
url: https://www.whatismyip.com/ url: https://www.whatismyip.com/
- id: '002' - title: Who Is Lookup
title: Who Is Lookup
description: Check ICAN info for a given IP address or domain description: Check ICAN info for a given IP address or domain
icon: '' icon: ''
iconType: img iconType: img
url: https://whois.domaintools.com/ url: https://whois.domaintools.com/
- id: '003' - title: Speed Test
title: Speed Test
description: Upload + download speeds and latency description: Upload + download speeds and latency
icon: '' icon: ''
iconType: img iconType: img
url: https://speed.cloudflare.com/ url: https://speed.cloudflare.com/
- id: '004' - title: Mullvad Check
title: Mullvad Check
description: Confirms a secure connection to Mullvad's WireGuard servers description: Confirms a secure connection to Mullvad's WireGuard servers
icon: '' icon: ''
iconType: img iconType: img

View File

@ -1,4 +1,9 @@
[ {
"pageInfo": {
"title": "Hello World",
"description": ""
},
"sections": [
{ {
"id": "0", "id": "0",
"name": "Firewall", "name": "Firewall",
@ -6,7 +11,6 @@
"cols": 3, "cols": 3,
"items": [ "items": [
{ {
"id": "001",
"title": "OPNsense", "title": "OPNsense",
"description": "Firewall Central Management", "description": "Firewall Central Management",
"icon": "networking/opnsense", "icon": "networking/opnsense",
@ -14,7 +18,6 @@
"url": "https://192.168.1.1" "url": "https://192.168.1.1"
}, },
{ {
"id": "002",
"title": "NetData", "title": "NetData",
"description": "System resource usage on firewall", "description": "System resource usage on firewall",
"icon": "networking/netdata", "icon": "networking/netdata",
@ -22,7 +25,6 @@
"url": "http://192.168.1.1:19999/" "url": "http://192.168.1.1:19999/"
}, },
{ {
"id": "003",
"title": "MalTrail", "title": "MalTrail",
"description": "Malicious traffic detection system", "description": "Malicious traffic detection system",
"icon": "networking/maltrail", "icon": "networking/maltrail",
@ -30,7 +32,6 @@
"url": "192.168.1.1:8338" "url": "192.168.1.1:8338"
}, },
{ {
"id": "004",
"title": "Ntopng", "title": "Ntopng",
"description": "Network traffic probe and network use monitor", "description": "Network traffic probe and network use monitor",
"icon": "networking/ntop", "icon": "networking/ntop",
@ -38,7 +39,6 @@
"url": "192.168.1.1:3001" "url": "192.168.1.1:3001"
}, },
{ {
"id": "005",
"title": "Sensei", "title": "Sensei",
"description": "Additional data features", "description": "Additional data features",
"icon": "networking/sensei", "icon": "networking/sensei",
@ -46,7 +46,6 @@
"url": "https://192.168.1.1/ui/sensei/" "url": "https://192.168.1.1/ui/sensei/"
}, },
{ {
"id": "006",
"title": "Monit", "title": "Monit",
"description": "Status of firewall system alerts", "description": "Status of firewall system alerts",
"icon": "networking/monit", "icon": "networking/monit",
@ -54,7 +53,6 @@
"url": "https://192.168.1.1/ui/monit/status" "url": "https://192.168.1.1/ui/monit/status"
}, },
{ {
"id": "007",
"title": "Firewall Logs", "title": "Firewall Logs",
"description": "Real-time view of firewall data and logs", "description": "Real-time view of firewall data and logs",
"icon": "networking/logs", "icon": "networking/logs",
@ -62,7 +60,6 @@
"url": "https://192.168.1.1/ui/diagnostics/firewall/log" "url": "https://192.168.1.1/ui/diagnostics/firewall/log"
}, },
{ {
"id": "008",
"title": "WireGuard", "title": "WireGuard",
"description": "Manage WireGuard client and server on firewall", "description": "Manage WireGuard client and server on firewall",
"icon": "networking/wireguard", "icon": "networking/wireguard",
@ -78,7 +75,6 @@
"cols": 2, "cols": 2,
"items": [ "items": [
{ {
"id": "001",
"title": "Pi-Hole", "title": "Pi-Hole",
"description": "DNS settings for ad & tracker blocking", "description": "DNS settings for ad & tracker blocking",
"provider": "Cockpit", "provider": "Cockpit",
@ -87,7 +83,6 @@
"url": "http://192.168.130.2/admin" "url": "http://192.168.130.2/admin"
}, },
{ {
"id": "002",
"title": "PiAlert", "title": "PiAlert",
"description": "Presence monitoring and ARP scanning", "description": "Presence monitoring and ARP scanning",
"provider": "GoAccess", "provider": "GoAccess",
@ -96,7 +91,6 @@
"url": "http://192.168.130.2/pialert/" "url": "http://192.168.130.2/pialert/"
}, },
{ {
"id": "003",
"title": "SmokePing", "title": "SmokePing",
"description": "Network latency monitoring", "description": "Network latency monitoring",
"iconType": "img", "iconType": "img",
@ -104,7 +98,6 @@
"url": "http://192.168.130.2:8086/" "url": "http://192.168.130.2:8086/"
}, },
{ {
"id": "004",
"title": "StatPing", "title": "StatPing",
"description": "Up-time monitoring for local service", "description": "Up-time monitoring for local service",
"iconType": "img", "iconType": "img",
@ -112,7 +105,6 @@
"url": "http://192.168.130.2:8083/" "url": "http://192.168.130.2:8083/"
}, },
{ {
"id": "005",
"title": "LibreSpeed", "title": "LibreSpeed",
"description": "Local network speed and latency test", "description": "Local network speed and latency test",
"iconType": "img", "iconType": "img",
@ -120,7 +112,6 @@
"url": "http://192.168.130.2:49154/" "url": "http://192.168.130.2:49154/"
}, },
{ {
"id": "006",
"title": "NetData", "title": "NetData",
"description": "Real-time system resource usage", "description": "Real-time system resource usage",
"iconType": "img", "iconType": "img",
@ -128,7 +119,6 @@
"url": "http://192.168.130.2:19999" "url": "http://192.168.130.2:19999"
}, },
{ {
"id": "007",
"title": "Portainer", "title": "Portainer",
"description": "Docker container management", "description": "Docker container management",
"iconType": "img", "iconType": "img",
@ -136,7 +126,6 @@
"url": "http://192.168.130.2:9000/" "url": "http://192.168.130.2:9000/"
}, },
{ {
"id": "008",
"title": "cAdvisor", "title": "cAdvisor",
"description": "Container monitoring", "description": "Container monitoring",
"iconType": "img", "iconType": "img",
@ -144,7 +133,6 @@
"url": "http://192.168.130.2:8084/" "url": "http://192.168.130.2:8084/"
}, },
{ {
"id": "009",
"title": "Glances", "title": "Glances",
"description": "Simple resource usage", "description": "Simple resource usage",
"iconType": "img", "iconType": "img",
@ -152,7 +140,6 @@
"url": "http://192.168.130.2:61208" "url": "http://192.168.130.2:61208"
}, },
{ {
"id": "010",
"title": "Dozzle", "title": "Dozzle",
"description": "Docker container web log viewer", "description": "Docker container web log viewer",
"iconType": "img", "iconType": "img",
@ -160,7 +147,6 @@
"url": "http://192.168.130.2:8093" "url": "http://192.168.130.2:8093"
}, },
{ {
"id": "011",
"title": "Prometheus", "title": "Prometheus",
"description": "System Statistics Aggregation with PromQL", "description": "System Statistics Aggregation with PromQL",
"iconType": "img", "iconType": "img",
@ -168,7 +154,6 @@
"url": "http://192.168.130.2:8090/" "url": "http://192.168.130.2:8090/"
}, },
{ {
"id": "012",
"title": "Grafana", "title": "Grafana",
"description": "Data visualised on dashboards", "description": "Data visualised on dashboards",
"iconType": "img", "iconType": "img",
@ -184,7 +169,6 @@
"cols": 3, "cols": 3,
"items": [ "items": [
{ {
"id": "001",
"title": "Modem", "title": "Modem",
"description": "ISP Router Modem Combo", "description": "ISP Router Modem Combo",
"iconType": "img", "iconType": "img",
@ -192,7 +176,6 @@
"url": "http://192.168.1.5" "url": "http://192.168.1.5"
}, },
{ {
"id": "002",
"title": "Wireless Access Point", "title": "Wireless Access Point",
"description": "View clients connected to WiFi", "description": "View clients connected to WiFi",
"icon": "", "icon": "",
@ -200,7 +183,6 @@
"url": "http://192.168.1.109/info.php" "url": "http://192.168.1.109/info.php"
}, },
{ {
"id": "003",
"title": "Fing", "title": "Fing",
"description": "Monitor connectivity issues, ISP quality, health checks and troubleshooting", "description": "Monitor connectivity issues, ISP quality, health checks and troubleshooting",
"provider": "Fing", "provider": "Fing",
@ -209,7 +191,6 @@
"url": "https://app.fing.com/" "url": "https://app.fing.com/"
}, },
{ {
"id": "004",
"title": "Switch", "title": "Switch",
"description": "Manage VLANs on Ubiquity Ethernet switch", "description": "Manage VLANs on Ubiquity Ethernet switch",
"icon": "", "icon": "",
@ -219,13 +200,11 @@
] ]
}, },
{ {
"id": "007",
"name": "External Services", "name": "External Services",
"collapsed": true, "collapsed": true,
"cols": 1, "cols": 1,
"items": [ "items": [
{ {
"id": "001",
"title": "DuckDNS", "title": "DuckDNS",
"description": "Dynamic DNS for fixed public IP", "description": "Dynamic DNS for fixed public IP",
"icon": "networking/duckdns", "icon": "networking/duckdns",
@ -233,7 +212,6 @@
"url": "https://www.duckdns.org/" "url": "https://www.duckdns.org/"
}, },
{ {
"id": "002",
"title": "BorgBase", "title": "BorgBase",
"description": "Off-site system Borg backups", "description": "Off-site system Borg backups",
"icon": "networking/borgbase", "icon": "networking/borgbase",
@ -241,7 +219,6 @@
"url": "https://www.borgbase.com/repositories" "url": "https://www.borgbase.com/repositories"
}, },
{ {
"id": "003",
"title": "Mullvad", "title": "Mullvad",
"description": "Hosted VPN provider", "description": "Hosted VPN provider",
"icon": "networking/mullvad", "icon": "networking/mullvad",
@ -249,7 +226,6 @@
"url": "https://mullvad.net/en/account/" "url": "https://mullvad.net/en/account/"
}, },
{ {
"id": "004",
"title": "ZeroTier", "title": "ZeroTier",
"description": "Secure networks between devices", "description": "Secure networks between devices",
"icon": "networking/zeroteir", "icon": "networking/zeroteir",
@ -257,7 +233,6 @@
"url": "https://my.zerotier.com/" "url": "https://my.zerotier.com/"
}, },
{ {
"id": "005",
"title": "HealthChecks", "title": "HealthChecks",
"description": "Cron Job Monitoring", "description": "Cron Job Monitoring",
"icon": "networking/healthchecks", "icon": "networking/healthchecks",
@ -265,7 +240,6 @@
"url": "https://healthchecks.io/checks/" "url": "https://healthchecks.io/checks/"
}, },
{ {
"id": "006",
"title": "ISP - Vodafone", "title": "ISP - Vodafone",
"description": "Broadband internet provider", "description": "Broadband internet provider",
"icon": "networking/vodafone", "icon": "networking/vodafone",
@ -281,7 +255,6 @@
"cols": 1, "cols": 1,
"items": [ "items": [
{ {
"id": "001",
"title": "Public IP", "title": "Public IP",
"description": "Check public IP and associated data", "description": "Check public IP and associated data",
"icon": "", "icon": "",
@ -289,7 +262,6 @@
"url": "https://www.whatismyip.com/" "url": "https://www.whatismyip.com/"
}, },
{ {
"id": "002",
"title": "Who Is Lookup", "title": "Who Is Lookup",
"description": "Check ICAN info for a given IP address or domain", "description": "Check ICAN info for a given IP address or domain",
"icon": "", "icon": "",
@ -297,7 +269,6 @@
"url": "https://whois.domaintools.com/" "url": "https://whois.domaintools.com/"
}, },
{ {
"id": "003",
"title": "Speed Test", "title": "Speed Test",
"description": "Upload + download speeds and latency", "description": "Upload + download speeds and latency",
"icon": "", "icon": "",
@ -305,7 +276,6 @@
"url": "https://speed.cloudflare.com/" "url": "https://speed.cloudflare.com/"
}, },
{ {
"id": "004",
"title": "Mullvad Check", "title": "Mullvad Check",
"description": "Confirms a secure connection to Mullvad's WireGuard servers", "description": "Confirms a secure connection to Mullvad's WireGuard servers",
"icon": "", "icon": "",
@ -315,3 +285,4 @@
] ]
} }
] ]
}

View File

@ -8,8 +8,8 @@
:gutter="30" :gutter="30"
> >
<ItemGroup <ItemGroup
v-for="item in items" v-for="(item, index) in items"
:key="item.id" :key="index"
:groupId="item.id" :groupId="item.id"
:title="item.name" :title="item.name"
:collapsed="item.collapsed" :collapsed="item.collapsed"
@ -26,7 +26,7 @@
import Header from '@/components/Header.vue'; import Header from '@/components/Header.vue';
import FilterTile from '@/components/FilterTile.vue'; import FilterTile from '@/components/FilterTile.vue';
import ItemGroup from '@/components/ItemGroup.vue'; import ItemGroup from '@/components/ItemGroup.vue';
import * as linkData from '../data/item-data.json'; import conf from '../data/conf.yml';
export default { export default {
name: 'home', name: 'home',
@ -40,7 +40,7 @@ export default {
ItemGroup, ItemGroup,
}, },
data: () => ({ data: () => ({
items: linkData.default, items: conf.sections,
searchTile: '', searchTile: '',
}), }),
methods: { methods: {