run.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/bin/bash -e
  2. PERMISSIONS_OK=0
  3. if [ ! -r "$GF_PATHS_CONFIG" ]; then
  4. echo "GF_PATHS_CONFIG='$GF_PATHS_CONFIG' is not readable."
  5. PERMISSIONS_OK=1
  6. fi
  7. if [ ! -w "$GF_PATHS_DATA" ]; then
  8. echo "GF_PATHS_DATA='$GF_PATHS_DATA' is not writable."
  9. PERMISSIONS_OK=1
  10. fi
  11. if [ ! -r "$GF_PATHS_HOME" ]; then
  12. echo "GF_PATHS_HOME='$GF_PATHS_HOME' is not readable."
  13. PERMISSIONS_OK=1
  14. fi
  15. if [ $PERMISSIONS_OK -eq 1 ]; then
  16. echo "You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migration-from-a-previous-version-of-the-docker-container-to-5-1-or-later"
  17. fi
  18. if [ ! -d "$GF_PATHS_PLUGINS" ]; then
  19. mkdir "$GF_PATHS_PLUGINS"
  20. fi
  21. if [ ! -z ${GF_AWS_PROFILES+x} ]; then
  22. > "$GF_PATHS_HOME/.aws/credentials"
  23. for profile in ${GF_AWS_PROFILES}; do
  24. access_key_varname="GF_AWS_${profile}_ACCESS_KEY_ID"
  25. secret_key_varname="GF_AWS_${profile}_SECRET_ACCESS_KEY"
  26. region_varname="GF_AWS_${profile}_REGION"
  27. if [ ! -z "${!access_key_varname}" -a ! -z "${!secret_key_varname}" ]; then
  28. echo "[${profile}]" >> "$GF_PATHS_HOME/.aws/credentials"
  29. echo "aws_access_key_id = ${!access_key_varname}" >> "$GF_PATHS_HOME/.aws/credentials"
  30. echo "aws_secret_access_key = ${!secret_key_varname}" >> "$GF_PATHS_HOME/.aws/credentials"
  31. if [ ! -z "${!region_varname}" ]; then
  32. echo "region = ${!region_varname}" >> "$GF_PATHS_HOME/.aws/credentials"
  33. fi
  34. fi
  35. done
  36. chmod 600 "$GF_PATHS_HOME/.aws/credentials"
  37. fi
  38. if [ ! -z "${GF_INSTALL_PLUGINS}" ]; then
  39. OLDIFS=$IFS
  40. IFS=','
  41. for plugin in ${GF_INSTALL_PLUGINS}; do
  42. IFS=$OLDIFS
  43. grafana-cli --pluginsDir "${GF_PATHS_PLUGINS}" plugins install ${plugin}
  44. done
  45. fi
  46. exec grafana-server \
  47. --homepath="$GF_PATHS_HOME" \
  48. --config="$GF_PATHS_CONFIG" \
  49. "$@" \
  50. cfg:default.log.mode="console" \
  51. cfg:default.paths.data="$GF_PATHS_DATA" \
  52. cfg:default.paths.logs="$GF_PATHS_LOGS" \
  53. cfg:default.paths.plugins="$GF_PATHS_PLUGINS" \
  54. cfg:default.paths.provisioning="$GF_PATHS_PROVISIONING"