diff --git a/.templates/chronograf/Dockerfile b/.templates/chronograf/Dockerfile new file mode 100644 index 00000000..b43fab97 --- /dev/null +++ b/.templates/chronograf/Dockerfile @@ -0,0 +1,8 @@ +FROM chronograf:alpine + +# see https://github.com/influxdata/influxdata-docker/pull/781 +# this patch can be withdrawn if/when PR781 is applied. + +COPY entrypoint.sh /entrypoint.sh + +# EOF diff --git a/.templates/chronograf/entrypoint.sh b/.templates/chronograf/entrypoint.sh new file mode 100755 index 00000000..3c486916 --- /dev/null +++ b/.templates/chronograf/entrypoint.sh @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +if [ "${1:0:1}" = '-' ]; then + set -- chronograf "$@" +fi + +if [ "$1" = 'chronograf' ]; then + export BOLT_PATH=${BOLT_PATH:-/var/lib/chronograf/chronograf-v1.db} +fi + +if [ $(id -u) -eq 0 ] ; then + if [ "${CHRONOGRAF_AS_ROOT}" != "true" ] ; then + chown -Rc chronograf:chronograf /var/lib/chronograf + exec su-exec chronograf "$@" + fi + chown -Rc root:root /var/lib/chronograf +else + if [ ! -w /var/lib/chronograf ] ; then + echo "You need to change ownership on chronograf's persistent store. Run:" + echo " sudo chown -R $(id -u):$(id -u) /path/to/persistent/store" + fi +fi + +exec "$@" diff --git a/.templates/chronograf/service.yml b/.templates/chronograf/service.yml index dc40e4de..7a0ec01a 100644 --- a/.templates/chronograf/service.yml +++ b/.templates/chronograf/service.yml @@ -1,6 +1,7 @@ chronograf: container_name: chronograf - image: chronograf:latest + build: + context: ./.templates/chronograf/. restart: unless-stopped environment: - TZ=${TZ:-Etc/UTC} @@ -10,6 +11,7 @@ # - INFLUXDB_PASSWORD= # - INFLUXDB_ORG= # - KAPACITOR_URL=http://kapacitor:9092 + # - CHRONOGRAF_AS_ROOT=true ports: - "8888:8888" volumes: @@ -17,4 +19,3 @@ depends_on: - influxdb # - kapacitor -