diff --git a/docker/blocks/graphite/Dockerfile b/docker/blocks/graphite/Dockerfile index 0c85798dd8a..aeac91b7a58 100644 --- a/docker/blocks/graphite/Dockerfile +++ b/docker/blocks/graphite/Dockerfile @@ -1,68 +1,50 @@ -from ubuntu:14.10 +from ubuntu:14.04 -run apt-get -y update +run apt-get -y update -run apt-get -y install software-properties-common - -run apt-get -y install python-software-properties &&\ - add-apt-repository ppa:chris-lea/node.js &&\ - apt-get -y update - -run apt-get -y install python-django-tagging python-simplejson python-memcache \ - python-ldap python-cairo python-django python-twisted \ - python-pysqlite2 python-support python-pip gunicorn \ - supervisor nginx-light nodejs git wget curl - -# Install statsd -run mkdir /src && git clone https://github.com/etsy/statsd.git /src/statsd +run apt-get -y install libcairo2-dev libffi-dev pkg-config python-dev python-pip fontconfig apache2 libapache2-mod-wsgi git-core collectd memcached gcc g++ make supervisor nginx-light gunicorn run cd /usr/local/src && git clone https://github.com/graphite-project/graphite-web.git run cd /usr/local/src && git clone https://github.com/graphite-project/carbon.git run cd /usr/local/src && git clone https://github.com/graphite-project/whisper.git run cd /usr/local/src/whisper && git checkout master && python setup.py install -run cd /usr/local/src/carbon && git checkout 0.9.x && python setup.py install -run cd /usr/local/src/graphite-web && git checkout 0.9.x && python check-dependencies.py; python setup.py install - -# statsd -add ./files/statsd_config.js /src/statsd/config.js +run cd /usr/local/src/carbon && git checkout 0.9.x && pip install -r requirements.txt; python setup.py install +run cd /usr/local/src/graphite-web && git checkout 0.9.x && pip install -r requirements.txt; python check-dependencies.py; python setup.py install # Add graphite config -add ./files/initial_data.json /opt/graphite/webapp/graphite/initial_data.json -add ./files/local_settings.py /opt/graphite/webapp/graphite/local_settings.py -add ./files/carbon.conf /opt/graphite/conf/carbon.conf -add ./files/storage-schemas.conf /opt/graphite/conf/storage-schemas.conf -add ./files/storage-aggregation.conf /opt/graphite/conf/storage-aggregation.conf -add ./files/events_views.py /opt/graphite/webapp/graphite/events/views.py +add ./files/initial_data.json /opt/graphite/webapp/graphite/initial_data.json +add ./files/local_settings.py /opt/graphite/webapp/graphite/local_settings.py +add ./files/carbon.conf /opt/graphite/conf/carbon.conf +add ./files/storage-schemas.conf /opt/graphite/conf/storage-schemas.conf +add ./files/storage-aggregation.conf /opt/graphite/conf/storage-aggregation.conf +add ./files/events_views.py /opt/graphite/webapp/graphite/events/views.py -run mkdir -p /opt/graphite/storage/whisper -run touch /opt/graphite/storage/graphite.db /opt/graphite/storage/index -run chown -R www-data /opt/graphite/storage -run chmod 0775 /opt/graphite/storage /opt/graphite/storage/whisper -run chmod 0664 /opt/graphite/storage/graphite.db -run cd /opt/graphite/webapp/graphite && python manage.py syncdb --noinput +run mkdir -p /opt/graphite/storage/whisper +run touch /opt/graphite/storage/graphite.db /opt/graphite/storage/index +run chown -R www-data /opt/graphite/storage +run chmod 0775 /opt/graphite/storage /opt/graphite/storage/whisper +run chmod 0664 /opt/graphite/storage/graphite.db +run cd /opt/graphite/webapp/graphite && python manage.py syncdb --noinput + +add ./files/my_htpasswd /etc/nginx/.htpasswd # Add system service config -add ./files/nginx.conf /etc/nginx/nginx.conf -add ./files/supervisord.conf /etc/supervisor/conf.d/supervisord.conf - +add ./files/nginx.conf /etc/nginx/nginx.conf +add ./files/supervisord.conf /etc/supervisor/conf.d/supervisord.conf +# Nginx +# # graphite -expose 80 +expose 80 # Carbon line receiver port -expose 2003 +expose 2003 # Carbon cache query port -expose 7002 +expose 7002 -# Statsd UDP port -expose 8125/udp -# Statsd Management port -expose 8126 - -VOLUME ["/var/lib/elasticsearch"] VOLUME ["/opt/graphite/storage/whisper"] VOLUME ["/var/lib/log/supervisor"] -cmd ["/usr/bin/supervisord"] +cmd ["/usr/bin/supervisord"] # vim:ts=8:noet: diff --git a/docker/blocks/graphite/fig b/docker/blocks/graphite/fig index 28e7d3c53a2..84da45341e1 100644 --- a/docker/blocks/graphite/fig +++ b/docker/blocks/graphite/fig @@ -1,4 +1,10 @@ graphite: build: blocks/graphite ports: - - "8776:80" + - "8080:80" + - "2003:2003" + volumes: + - /var/docker/gfdev/graphite:/opt/graphite/storage/whisper + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + diff --git a/docker/blocks/graphite/files/my_htpasswd b/docker/blocks/graphite/files/my_htpasswd new file mode 100644 index 00000000000..52a72d01b4c --- /dev/null +++ b/docker/blocks/graphite/files/my_htpasswd @@ -0,0 +1 @@ +grafana:$apr1$4R/20xhC$8t37jPP5dbcLr48btdkU// diff --git a/docker/blocks/graphite/files/supervisord.conf b/docker/blocks/graphite/files/supervisord.conf index 25ba39c8819..c9812bb16dc 100644 --- a/docker/blocks/graphite/files/supervisord.conf +++ b/docker/blocks/graphite/files/supervisord.conf @@ -24,10 +24,3 @@ stdout_logfile = /var/log/supervisor/%(program_name)s.log stderr_logfile = /var/log/supervisor/%(program_name)s.log autorestart = true -[program:statsd] -;user = www-data -command = /usr/bin/node /src/statsd/stats.js /src/statsd/config.js -stdout_logfile = /var/log/supervisor/%(program_name)s.log -stderr_logfile = /var/log/supervisor/%(program_name)s.log -autorestart = true -