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.
$ mkdir dashing-project
$ cd dashing-project
$ mkdir dashboard
$ vim Dockerfile
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:
$ docker build -t my-dashboard:latest .
Stap 2: Dashboard aanmaken
Nu kan ik een nieuw dashboard maken met het volgende commando:
$ docker run -it -v /path/to/my/dashing-project:/code my-dashboard:latest smashing new dashboard
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:
$ docker build -t my-dashboard:latest .
$ docker run -it -p 9292:9292 my-dashboard:latest
Dit is de basis voor een goed informatiesysteem. U kunt alle kleuren, scripts en widgets aanpassen.