1
0
mirror of https://github.com/vimagick/dockerfiles.git synced 2024-11-24 08:52:15 +02:00

add graphite

This commit is contained in:
kev 2017-03-11 18:05:03 +08:00
parent d05677db76
commit 14e26a8af7
5 changed files with 99 additions and 0 deletions

View File

@ -60,6 +60,7 @@ A collection of delicious docker recipes.
- [x] collectd
- [x] errbot :octocat:
- [x] freeradius
- [x] graphite
- [x] h2o
- [x] httpbin :+1:
- [x] hubot :octocat:

57
graphite/Dockerfile Normal file
View File

@ -0,0 +1,57 @@
#
# Dockerfile for graphite
#
FROM alpine
MAINTAINER kev <noreply@easypi.info>
ENV PATH=$PATH:/opt/graphite/bin
ENV PYTHONPATH=/opt/graphite/lib:/opt/graphite/webapp
ENV GRAPHITE_CONF_DIR=/opt/graphite/conf
ENV GRAPHITE_STORAGE_DIR=/opt/graphite/storage
WORKDIR /opt/graphite
RUN set -xe \
&& apk update \
&& apk add build-base \
cairo \
curl \
git \
libffi-dev \
python \
python-dev \
&& curl -sSL https://bootstrap.pypa.io/get-pip.py | python \
&& pip install gunicorn \
supervisor \
https://github.com/graphite-project/whisper/tarball/master \
https://github.com/graphite-project/carbon/tarball/master \
https://github.com/graphite-project/graphite-web/tarball/master \
-r https://github.com/graphite-project/graphite-web/raw/master/requirements.txt \
&& cd conf \
&& cp carbon.conf.example carbon.conf \
&& cp storage-schemas.conf.example storage-schemas.conf \
&& cd ../webapp \
&& echo "SECRET_KEY = '$(head -c 16 /dev/urandom | base64)'" > graphite/local_settings.py \
&& curl -sSL https://github.com/graphite-project/graphite-web/raw/master/webapp/manage.py > manage.py \
&& python manage.py migrate --run-syncdb --noinput \
&& apk del build-base \
curl \
git \
libffi-dev \
python-dev \
&& rm -rf /root/.cache/pip \
/var/cache/apk/*
COPY supervisord.conf /etc/supervisor/
VOLUME $GRAPHITE_CONF_DIR \
$GRAPHITE_STORAGE_DIR
EXPOSE 2003 \
2004 \
7002 \
8080 \
9001
CMD ["supervisord", "-n"]

10
graphite/README.md Normal file
View File

@ -0,0 +1,10 @@
graphite
========
[Graphite][1] does three things:
- Kick ass.
- Chew bubblegum.
- Make it easy to store and graph metrics.
[1]: http://graphiteapp.org/

View File

@ -0,0 +1,9 @@
graphite:
image: vimagick/graphite
ports:
- 2003:2003
- 2004:2004
- 7002:7002
- 8080:8080
- 9001:9001
restart: always

22
graphite/supervisord.conf Normal file
View File

@ -0,0 +1,22 @@
[supervisord]
loglevel=info
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[inet_http_server]
port=0.0.0.0:9001
[supervisorctl]
serverurl=http://127.0.0.1:9001
[program:carbon-cache]
command = carbon-cache.py --debug start
redirect_stderr = true
autorestart = true
[program:graphite-webapp]
command = gunicorn -b :8080 graphite.wsgi:application
directory = /opt/graphite/webapp
redirect_stderr = true
autorestart = true