Fork me on GitHub

Herr Knedel/Grote dingen met containers: KPI Dashboard

Created Mon, 21 Mar 2022 00:00:00 +0000 Modified Sat, 02 Apr 2022 15:25:49 +0000 Schwierigkeitsgrad: Es kann etwas länger dauern

406 Words

Vooral in het Coronatijdperk, met gedecentraliseerd werk, is actuele informatie op alle locaties een must. Ik heb zelf al talloze informatiesystemen opgezet en wil u graag kennis laten maken met een geweldige software genaamd Smashing.Speaker: https://smashing.github.io/Das Smashing project is oorspronkelijk onder de naam Dashing ontwikkeld door het bedrijf Shopify voor de presentatie van bedrijfscijfers. Maar je kunt natuurlijk niet alleen bedrijfscijfers laten zien. Ontwikkelaars van over de hele wereld hebben Smashing-tegels, zogenaamde widgets, ontwikkeld voor Gitlab, Jenkins, Bamboo, Jira, enz., zie:https://github.com/Smashing/smashing/wiki/Additional-WidgetsDoch hoe werk je ermee?

Stap 1: Maak basisafbeelding

Eerst maak ik een eenvoudig Docker image dat al Ruby en Dashing bevat.

x
+
Terminal

$ mkdir dashing-project
$ cd dashing-project
$ mkdir dashboard
$ vim Dockerfile

Dit is de eerste inhoud die ik schrijf in het Dockerfile bestand:

From ubuntu:latest
 
ENV TZ=Europe/Berlin
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

COPY dashboard/ /code/

RUN apt-get update && apt-get install -y ruby wget unzip ruby-dev build-essential tzdata nodejs && \
gem install smashing && \
apt-get clean

Dan maak ik de Docker image met dit commando:

x
+
Terminal

$ docker build -t my-dashboard:latest .

Dit is hoe het er voor mij uitziet:

Stap 2: Dashboard aanmaken

Nu kan ik een nieuw dashboard maken met het volgende commando:

x
+
Terminal

$ docker run -it -v /path/to/my/dashing-project:/code my-dashboard:latest smashing new dashboard

Daarna zou de “dashboard” map in het Dashing project er als volgt uit moeten zien: Heel goed. Nu moet ik het Dockerfile weer bijwerken. De nieuwe inhoud is dit:

From ubuntu:latest
 
ENV TZ=Europe/Berlin
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
 
COPY dashboard/ /code/
 
RUN apt-get update && apt-get install -y ruby wget unzip ruby-dev build-essential tzdata nodejs && \
gem install smashing && \
gem install bundler && \
apt-get clean
 
RUN cd /code/ && \
bundle
 
RUN chown -R www-data:www-data  /code/

USER www-data
WORKDIR /code/

EXPOSE 3030

CMD ["/usr/local/bin/bundle", "exec", "puma", "config.ru"]

Daarnaast moet ook het Gemfile bestand in de “dashboard” map aangepast worden:

source 'https://rubygems.org'

gem 'smashing'
gem 'puma'

Ik herhaal het bouwcommando:

x
+
Terminal

$ docker build -t my-dashboard:latest .

Nu kan ik mijn nieuwe dashboard voor de eerste keer starten en er toegang toe krijgen op http://localhost:9292.
x
+
Terminal

$ docker run -it -p 9292:9292 my-dashboard:latest

En dit is hoe het eruit ziet: Dit is de basis voor een goed informatiesysteem. U kunt alle kleuren, scripts en widgets aanpassen.