forked from extern/homer
parent
d141a69a7d
commit
c9a6495186
@ -28,6 +28,8 @@ within Homer:
|
||||
- [rTorrent](#rtorrent)
|
||||
- [qBittorrent](#qbittorrent)
|
||||
- [CopyToClipboard](#copy-to-clipboard)
|
||||
- [Speedtest Tracker](#SpeedtestTracker)
|
||||
- [What's Up Docker](#whats-up-docker)
|
||||
|
||||
If you experiencing any issue, please have a look to the [troubleshooting](troubleshooting.md) page.
|
||||
|
||||
@ -344,3 +346,17 @@ Configuration example:
|
||||
## SpeedtestTracker
|
||||
|
||||
For the SpeedtestTracker service you just need to define a entry with type `SpeedtestTracker`.
|
||||
|
||||
## What's up Docker
|
||||
|
||||
What's up Docker allow to display info about the number of container running and the number for which an update is available on your Homer dashboard.
|
||||
|
||||
The following configuration is available for the WUD service.
|
||||
|
||||
```yaml
|
||||
- name: "What's Up Docker"
|
||||
logo: "assets/tools/sample.png"
|
||||
subtitle: "Docker image update notifier"
|
||||
url: "http://192.168.1.12:3001"
|
||||
type: "WUD"
|
||||
```
|
92
src/components/services/WUD.vue
Normal file
92
src/components/services/WUD.vue
Normal file
@ -0,0 +1,92 @@
|
||||
<template>
|
||||
<Generic :item="item">
|
||||
<template #indicator>
|
||||
<div class="notifs">
|
||||
<strong v-if="running > 0" class="notif warnings" title="Running">
|
||||
{{ running }}
|
||||
</strong>
|
||||
<strong v-if="update > 0" class="notif errors" title="Update">
|
||||
{{ update }}
|
||||
</strong>
|
||||
<strong
|
||||
v-if="serverError"
|
||||
class="notif errors"
|
||||
title="Connection error to WUD API, check url in config.yml"
|
||||
>
|
||||
?
|
||||
</strong>
|
||||
</div>
|
||||
</template>
|
||||
</Generic>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import service from "@/mixins/service.js";
|
||||
import Generic from "./Generic.vue";
|
||||
|
||||
export default {
|
||||
name: "WUD",
|
||||
mixins: [service],
|
||||
props: {
|
||||
item: Object,
|
||||
},
|
||||
components: {
|
||||
Generic,
|
||||
},
|
||||
data: () => {
|
||||
return {
|
||||
running: null,
|
||||
update: null,
|
||||
serverError: false,
|
||||
};
|
||||
},
|
||||
created: function () {
|
||||
this.fetchConfig();
|
||||
},
|
||||
methods: {
|
||||
fetchConfig: function () {
|
||||
this.fetch(`/api/containers`)
|
||||
.then((containers) => {
|
||||
this.running = 0;
|
||||
this.update = 0;
|
||||
for (var i = 0; i < containers.length; i++) {
|
||||
this.running++;
|
||||
if (containers[i].updateAvailable) {
|
||||
this.update++;
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.serverError = true;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.notifs {
|
||||
position: absolute;
|
||||
color: white;
|
||||
font-family: sans-serif;
|
||||
top: 0.3em;
|
||||
right: 0.5em;
|
||||
|
||||
.notif {
|
||||
display: inline-block;
|
||||
padding: 0.2em 0.35em;
|
||||
border-radius: 0.25em;
|
||||
position: relative;
|
||||
margin-left: 0.3em;
|
||||
font-size: 0.8em;
|
||||
|
||||
&.warnings {
|
||||
background-color: #d08d2e;
|
||||
}
|
||||
|
||||
&.errors {
|
||||
background-color: #e51111;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue
Block a user