FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive

#Install core packages
RUN apt-get update && apt-get install -y \
      libncurses5 python3 python3-pip curl git apt-utils ssh ca-certificates \
      tmux nano vim sudo bash rsync htop wget unzip \
      tini

RUN groupadd --system prometheus
RUN useradd -s /sbin/nologin --system -g prometheus prometheus
RUN mkdir -p /etc/prometheus
RUN mkdir -p /var/lib/prometheus
#copy from our git repo.
COPY prometheus.yml /etc/prometheus/prometheus.yml
COPY web.yml /etc/prometheus/web.yml

WORKDIR /root
RUN wget https://github.com/prometheus/prometheus/releases/download/v2.34.0/prometheus-2.34.0.linux-amd64.tar.gz
RUN tar -xvf prometheus-2.34.0.linux-amd64.tar.gz
WORKDIR prometheus-2.34.0.linux-amd64
RUN mv prometheus promtool /usr/local/bin/
RUN mv consoles/ console_libraries/ /etc/prometheus/
RUN prometheus --version
RUN promtool --version

WORKDIR /root

RUN wget https://github.com/prometheus/pushgateway/releases/download/v1.4.2/pushgateway-1.4.2.linux-amd64.tar.gz
RUN tar -xvf pushgateway-1.4.2.linux-amd64.tar.gz
RUN cp pushgateway-1.4.2.linux-amd64/pushgateway /usr/local/bin/pushgateway
RUN wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
RUN tar -xvf node_exporter-1.3.1.linux-amd64.tar.gz
RUN cp node_exporter-1.3.1.linux-amd64/node_exporter /usr/local/bin/node_exporter

RUN chown -R prometheus:prometheus /etc/prometheus/ /var/lib/prometheus/ /usr/local/bin/pushgateway /usr/local/bin/node_exporter
RUN chmod -R 775 /etc/prometheus/ /var/lib/prometheus/

EXPOSE 9090
#start both prometheus and pushgateway
#CMD [ "bash", "-c", "prometheus \
#    --config.file=/etc/prometheus/prometheus.yml \
#    --storage.tsdb.path=/var/lib/prometheus/ \
#    --web.console.templates=/etc/prometheus/consoles \
#    --web.console.libraries=/etc/prometheus/console_libraries \
#    & pushgateway "]
#CMD [ "prometheus", "--config.file=/etc/prometheus/prometheus.yml", "--storage.tsdb.path=/var/lib/prometheus/", "--web.console.templates=/etc/prometheus/consoles", "--web.console.libraries=/etc/prometheus/console_libraries" ]