|
@@ -1,109 +0,0 @@
|
|
|
-FROM phusion/baseimage:0.9.22
|
|
|
|
|
-MAINTAINER Denys Zhdanov <denis.zhdanov@gmail.com>
|
|
|
|
|
-
|
|
|
|
|
-RUN apt-get -y update \
|
|
|
|
|
- && apt-get -y upgrade \
|
|
|
|
|
- && apt-get -y install vim \
|
|
|
|
|
- nginx \
|
|
|
|
|
- python-dev \
|
|
|
|
|
- python-flup \
|
|
|
|
|
- python-pip \
|
|
|
|
|
- python-ldap \
|
|
|
|
|
- expect \
|
|
|
|
|
- git \
|
|
|
|
|
- memcached \
|
|
|
|
|
- sqlite3 \
|
|
|
|
|
- libffi-dev \
|
|
|
|
|
- libcairo2 \
|
|
|
|
|
- libcairo2-dev \
|
|
|
|
|
- python-cairo \
|
|
|
|
|
- python-rrdtool \
|
|
|
|
|
- pkg-config \
|
|
|
|
|
- nodejs \
|
|
|
|
|
- && rm -rf /var/lib/apt/lists/*
|
|
|
|
|
-
|
|
|
|
|
-# choose a timezone at build-time
|
|
|
|
|
-# use `--build-arg CONTAINER_TIMEZONE=Europe/Brussels` in `docker build`
|
|
|
|
|
-ARG CONTAINER_TIMEZONE
|
|
|
|
|
-ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
|
-
|
|
|
|
|
-RUN if [ ! -z "${CONTAINER_TIMEZONE}" ]; \
|
|
|
|
|
- then ln -sf /usr/share/zoneinfo/$CONTAINER_TIMEZONE /etc/localtime && \
|
|
|
|
|
- dpkg-reconfigure -f noninteractive tzdata; \
|
|
|
|
|
- fi
|
|
|
|
|
-
|
|
|
|
|
-# fix python dependencies (LTS Django and newer memcached/txAMQP)
|
|
|
|
|
-RUN pip install --upgrade pip && \
|
|
|
|
|
- pip install django==1.8.18 \
|
|
|
|
|
- python-memcached==1.53 \
|
|
|
|
|
- txAMQP==0.6.2
|
|
|
|
|
-
|
|
|
|
|
-ARG version=1.0.2
|
|
|
|
|
-ARG whisper_version=${version}
|
|
|
|
|
-ARG carbon_version=${version}
|
|
|
|
|
-ARG graphite_version=${version}
|
|
|
|
|
-
|
|
|
|
|
-ARG statsd_version=v0.7.2
|
|
|
|
|
-
|
|
|
|
|
-# install whisper
|
|
|
|
|
-RUN git clone -b ${whisper_version} --depth 1 https://github.com/graphite-project/whisper.git /usr/local/src/whisper
|
|
|
|
|
-WORKDIR /usr/local/src/whisper
|
|
|
|
|
-RUN python ./setup.py install
|
|
|
|
|
-
|
|
|
|
|
-# install carbon
|
|
|
|
|
-RUN git clone -b ${carbon_version} --depth 1 https://github.com/graphite-project/carbon.git /usr/local/src/carbon
|
|
|
|
|
-WORKDIR /usr/local/src/carbon
|
|
|
|
|
-RUN pip install -r requirements.txt \
|
|
|
|
|
- && python ./setup.py install
|
|
|
|
|
-
|
|
|
|
|
-# install graphite
|
|
|
|
|
-RUN git clone -b ${graphite_version} --depth 1 https://github.com/graphite-project/graphite-web.git /usr/local/src/graphite-web
|
|
|
|
|
-WORKDIR /usr/local/src/graphite-web
|
|
|
|
|
-RUN pip install -r requirements.txt \
|
|
|
|
|
- && python ./setup.py install
|
|
|
|
|
-ADD conf/opt/graphite/conf/*.conf /opt/graphite/conf/
|
|
|
|
|
-ADD conf/opt/graphite/webapp/graphite/local_settings.py /opt/graphite/webapp/graphite/local_settings.py
|
|
|
|
|
-# ADD conf/opt/graphite/webapp/graphite/app_settings.py /opt/graphite/webapp/graphite/app_settings.py
|
|
|
|
|
-WORKDIR /opt/graphite/webapp
|
|
|
|
|
-RUN mkdir -p /var/log/graphite/ \
|
|
|
|
|
- && PYTHONPATH=/opt/graphite/webapp django-admin.py collectstatic --noinput --settings=graphite.settings
|
|
|
|
|
-
|
|
|
|
|
-# install statsd
|
|
|
|
|
-RUN git clone -b ${statsd_version} https://github.com/etsy/statsd.git /opt/statsd
|
|
|
|
|
-ADD conf/opt/statsd/config.js /opt/statsd/config.js
|
|
|
|
|
-
|
|
|
|
|
-# config nginx
|
|
|
|
|
-RUN rm /etc/nginx/sites-enabled/default
|
|
|
|
|
-ADD conf/etc/nginx/nginx.conf /etc/nginx/nginx.conf
|
|
|
|
|
-ADD conf/etc/nginx/sites-enabled/graphite-statsd.conf /etc/nginx/sites-enabled/graphite-statsd.conf
|
|
|
|
|
-
|
|
|
|
|
-# init django admin
|
|
|
|
|
-ADD conf/usr/local/bin/django_admin_init.exp /usr/local/bin/django_admin_init.exp
|
|
|
|
|
-ADD conf/usr/local/bin/manage.sh /usr/local/bin/manage.sh
|
|
|
|
|
-RUN chmod +x /usr/local/bin/manage.sh && /usr/local/bin/django_admin_init.exp
|
|
|
|
|
-
|
|
|
|
|
-# logging support
|
|
|
|
|
-RUN mkdir -p /var/log/carbon /var/log/graphite /var/log/nginx
|
|
|
|
|
-ADD conf/etc/logrotate.d/graphite-statsd /etc/logrotate.d/graphite-statsd
|
|
|
|
|
-
|
|
|
|
|
-# daemons
|
|
|
|
|
-ADD conf/etc/service/carbon/run /etc/service/carbon/run
|
|
|
|
|
-ADD conf/etc/service/carbon-aggregator/run /etc/service/carbon-aggregator/run
|
|
|
|
|
-ADD conf/etc/service/graphite/run /etc/service/graphite/run
|
|
|
|
|
-ADD conf/etc/service/statsd/run /etc/service/statsd/run
|
|
|
|
|
-ADD conf/etc/service/nginx/run /etc/service/nginx/run
|
|
|
|
|
-
|
|
|
|
|
-# default conf setup
|
|
|
|
|
-ADD conf /etc/graphite-statsd/conf
|
|
|
|
|
-ADD conf/etc/my_init.d/01_conf_init.sh /etc/my_init.d/01_conf_init.sh
|
|
|
|
|
-
|
|
|
|
|
-# cleanup
|
|
|
|
|
-RUN apt-get clean\
|
|
|
|
|
- && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
|
-
|
|
|
|
|
-# defaults
|
|
|
|
|
-EXPOSE 80 2003-2004 2023-2024 8125/udp 8126
|
|
|
|
|
-VOLUME ["/opt/graphite/conf", "/opt/graphite/storage", "/etc/nginx", "/opt/statsd", "/etc/logrotate.d", "/var/log"]
|
|
|
|
|
-WORKDIR /
|
|
|
|
|
-ENV HOME /root
|
|
|
|
|
-CMD ["/sbin/my_init"]
|
|
|