67 linhas
3.7 KiB
Docker
67 linhas
3.7 KiB
Docker
# -----------------------------------------------------------------------
|
|
# NOTE:
|
|
# Dependencies are not included as part of Omniperf.
|
|
# It's the user's responsibility to accept any licensing implications
|
|
# before building the project
|
|
# -----------------------------------------------------------------------
|
|
|
|
FROM ubuntu:20.04
|
|
WORKDIR /app
|
|
|
|
USER root
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
ENV TZ "US/Chicago"
|
|
|
|
ADD grafana_plugins/svg_plugin /var/lib/grafana/plugins/custom-svg
|
|
ADD grafana_plugins/omniperfData_plugin /var/lib/grafana/plugins/omniperfData_plugin
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y apt-transport-https software-properties-common adduser libfontconfig1 wget curl && \
|
|
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_8.3.4_amd64.deb &&\
|
|
dpkg -i grafana-enterprise_8.3.4_amd64.deb &&\
|
|
echo "deb https://packages.grafana.com/enterprise/deb stable main" | tee -a /etc/apt/sources.list.d/grafana.list && \
|
|
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | tee /etc/apt/sources.list.d/yarn.list && \
|
|
apt-get install gnupg && \
|
|
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc -O server-5.0.asc &&\
|
|
apt-key add server-5.0.asc && \
|
|
echo "deb [trusted=yes arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org.list && \
|
|
wget -q -O - https://packages.grafana.com/gpg.key | apt-key add - && \
|
|
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /usr/share/keyrings/yarnkey.gpg > /dev/null && \
|
|
apt-get update && \
|
|
apt-get install -y mongodb-org && \
|
|
apt-get install -y tzdata systemd apt-utils npm vim net-tools && \
|
|
mkdir -p /nonexistent && \
|
|
/usr/sbin/grafana-cli plugins install michaeldmoore-multistat-panel && \
|
|
/usr/sbin/grafana-cli plugins install ae3e-plotly-panel && \
|
|
/usr/sbin/grafana-cli plugins install natel-plotly-panel && \
|
|
/usr/sbin/grafana-cli plugins install grafana-image-renderer && \
|
|
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && \
|
|
apt-get install -y yarn nodejs && \
|
|
chown root:grafana /etc/grafana && \
|
|
cd /var/lib/grafana/plugins/omniperfData_plugin && \
|
|
npm install && \
|
|
npm run build && \
|
|
apt-get autoremove -y && \
|
|
apt-get autoclean -y && \
|
|
cd /var/lib/grafana/plugins/custom-svg && \
|
|
yarn install && \
|
|
yarn build && \
|
|
yarn autoclean && \
|
|
sed -i "s/ bindIp.*/ bindIp: 0.0.0.0/" /etc/mongod.conf && \
|
|
mkdir -p /var/lib/grafana && \
|
|
touch /var/lib/grafana/grafana.lib && \
|
|
chown grafana:grafana /var/lib/grafana/grafana.lib && \
|
|
rm /app/grafana-enterprise_8.3.4_amd64.deb /app/server-5.0.asc
|
|
|
|
# Overwrite grafana ini file
|
|
COPY docker/grafana.ini /etc/grafana
|
|
|
|
# switch Grafana port to 4000
|
|
RUN sed -i "s/^;http_port = 3000/http_port = 4000/" /etc/grafana/grafana.ini && \
|
|
sed -i "s/^http_port = 3000/http_port = 4000/" /usr/share/grafana/conf/defaults.ini
|
|
|
|
# starts mongo and grafana-server at startup
|
|
COPY docker/docker-entrypoint.sh /docker-entrypoint.sh
|
|
|
|
ENTRYPOINT [ "/docker-entrypoint.sh" ] |