Category Archives: Docker

Wallabag

Wallabag
Wallabag

We’re running a Docker container called Wallabag, which can be used to save cleanly formatted copies of web pages and articles. Smartphone (iPhone and Android) apps are available for Wallabag, making viewing the saved content easy on the go.

The following video explains what Wallbag does.

 

Wallabag Installation

This video covers the installation of Wallabag using Docker Compose. It can run on any docker host.

Wallabag in Docker

This video also contains some good information on sources for other self-hosted apps.

RSS Hub

 

RSS Hub
RSS Hub

We’re running a Docker container called RSSHub, which detects RSS feeds available on websites that we browse. You can learn more about RSS Hub here.

RSS Hub Installation

This page covers the installation and use of the RSSHub container and the associated RSSHub Radar Chrome browser extension.

How to Install RSS Hub in Docker
How to Install RSS Hub in Docker

We use the BazQux RSS Reader with our installation. The following shows our configuration for the RSS Hub Radar Chrome Extension, which is used with RSSHub  –

RSS Hub Radar Chrome Extension Configuration
RSS Hub Radar Chrome Extension Configuration

Docker Monitoring

Docker Monitoring
Docker Node Exporter Dashboard

Many of our applications and services run as Docker containers. Our monitoring dashboard solution covers two aspects of Docker container performance:

These data collectors enable several Grafana dashboards that help us to manage our Docker cluster.

Monitoring Setup

We run a combination of Node Exporter and cAdvisor on each Docker host VMs. These containers scrape data for our Docker hosts and feed it to the Prometheus instance in our Docker stack.

The following video explains how all of this is set up –

Setting up Docker Server Monitoring – Node Explorer and cAdvisor

Dashboards

We are using several dashboards to implement our Docker monitoring solution.

Docker Node Summary

Docker Monitoring
Docker Host Summary Dashboard

We are using a modified version of the Grafana Dashboard above to monitor the overall performance of our Docker nodes.

Docker Node Details

Docker Monitoring
Docker Host Details

We are using a modified version of the Grafana Dashboard above to monitor and enable drilling into detailed performance metrics for our Docker nodes.

Docker Container Summary

Docker Monitoring
Docker Container Summary Dashboard

We are using a modified version of the Grafana Dashboard above to monitor and enable a summary view of the containers in our Docker cluster.

Docker Container Details

Docker Monitoring
Docker Container Details Dashboard

We are using a modified version of the Grafana Dashboard above to monitor and enable drilling into the detailed performance of containers in our Docker cluster.

Windows VM Dashboard

Windows VM Dashboard
Windows VM Dashboard

We are using a modified version of the Grafana Dashboard above to monitor and enable drilling into the performance of Windows VMs in our Docker cluster.

Proxmox Monitoring

Proxmox Cluster Metrics - Proxmox Monitoring
Proxmox Cluster Metrics

We set up a Grafana Dashboard to implement Proxmox Monitoring. The main components in our monitoring stack include:

The following sections cover the setup and configuration of our monitoring stack.

Proxmox Monitoring Setup

The following video explains how to set up a Grafana dashboard for Proxmox. This installation uses the monitoring function built into Proxmox to feed data to Influx DB.

And here is a video that explains setting up self-signed certificates –


Configuring Self-Signed Certificates

We are using the Proxmox [Flux] dashboard with our setup.

Grafana Logging and Monitoring

Grafana Logging and Monitoring

We’ve added a Grafana Monitoring and Logging system to our Home Lab. The system is based on Grafana, Prometheus, Grafana Loki, Promtail, Telegraf, and InFlux DB.

Installation

The following video covers the installation of our Grafana Monitoring and Logging monitoring stack.


Setup Logging and Monitoring in Docker

Configure Loki and Promtail

Grafana Lofi and Promtail work together to scape and store log data. These tools can scrape docker data and accept syslog data as well. The following video explains how to configure Loki and Promtail.


Configure Grafana Loki and Promtail for logs

There are a few details that we needed to do differently than the video:

  • We had to configure a tsdb schema for Loki
  • The links for configuring the Loki Docker driver can be found here and here.
  • Set parameters in the Loki Docker driver via /etc/docker/daemon.json to avoid blocking the Docker.
  • Recreating containers with Portainer does not enable Lofi to access their logs. To make this work, we needed to use docker compose up -d –force-recreate

The contents of /etc/docker/daemon.json are as follows:

{
  "log-driver": "loki",
  "log-opts": {
     "loki-url": "http://localhost:3100/loki/api/v1/push",
      "loki-batch-size": "400",
      "loki-retries": "2",
      "loki-max-backoff": "800ms",
      "loki-timeout": "1s",
      "keep-file": "true",
      "mode": "non-blocking"
    }
}

Syslog

We have configured a combination of Loki and Promtail to accept Syslog events. Promtail does not support Syslog events using the UDP protocol. To solve this problem, we set up rsyslog running under the Ubuntu system, which hosts the Promtail Docker container, to consolidate and forward all Syslog events as a front end to Promtail. Information on configuring rsyslog as a front end to Promtail can be found here.

Monitoring Dashboards

The following video provides some information on configuring dashboards and other monitoring capabilities.


Create and Configure Grafana Dashboards

VS Code Server

VS Code Server

We do a variety of software development and Java coding tasks. To make this easier and more accessible from all our computers, we will try VS Code and VS Code Server.

This tool allows editing using a web browser on any computer. The VS Code web interface is hosted from a server running in a Docker container.

Installation and Set Up

The following video explains how to set up the tool and connect it to a GitHub repository.


VS Code Server Installation and Set Up

VS Code Extensions

The following video suggests several useful VS Code plugin extensions.

Dashy

Dashy
Dashy dashboard

We have created many websites and services for our Home Lab. It’s nice to have an organized dashboard to access these tools.

We use a dashboard tool called Dashy for this purpose. Dashy runs in a Docker container and is easy to configure. The following video explains how to set up and configure Dashy.


How To Set Up and Configure Dashy

Iperf3

Iperf3
Iperf3

Iperf3 is a common tool for network performance testing. We run an Iperf3 server in a Docker container. You can find information on how to set up and use Iperf3 here.