postinst 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/bin/sh
  2. set -e
  3. [ -f /etc/sysconfig/grafana-server ] && . /etc/sysconfig/grafana-server
  4. startGrafana() {
  5. if [ -x /bin/systemctl ] ; then
  6. /bin/systemctl start grafana-server.service
  7. elif [ -x /etc/init.d/grafana-server ] ; then
  8. /etc/init.d/grafana-server start
  9. elif [ -x /etc/rc.d/init.d/grafana-server ] ; then
  10. /etc/rc.d/init.d/grafana-server start
  11. fi
  12. }
  13. stopGrafana() {
  14. if [ -x /bin/systemctl ] ; then
  15. /bin/systemctl stop grafana-server.service > /dev/null 2>&1 || :
  16. elif [ -x /etc/init.d/grafana-service ] ; then
  17. /etc/init.d/grafana-service stop
  18. elif [ -x /etc/rc.d/init.d/grafana-service ] ; then
  19. /etc/rc.d/init.d/grafana-service stop
  20. fi
  21. }
  22. # Initial installation: $1 == 1
  23. # Upgrade: $1 == 2, and configured to restart on upgrade
  24. if [ $1 -eq 1 ] ; then
  25. [ -z "$GRAFANA_USER" ] && GRAFANA_USER="grafana"
  26. [ -z "$GRAFANA_GROUP" ] && GRAFANA_GROUP="grafana"
  27. if ! getent group "$GRAFANA_GROUP" > /dev/null 2>&1 ; then
  28. groupadd -r "$GRAFANA_GROUP"
  29. fi
  30. if ! getent passwd "$GRAFANA_USER" > /dev/null 2>&1 ; then
  31. useradd -r -g grafana -d /usr/share/grafana -s /sbin/nologin \
  32. -c "grafana user" grafana
  33. fi
  34. # Set user permissions on /var/log/grafana, /var/lib/grafana
  35. mkdir -p /var/log/grafana /var/lib/grafana
  36. chown -R $GRAFANA_USER:$GRAFANA_GROUP /var/log/grafana /var/lib/grafana
  37. chmod 755 /var/log/grafana /var/lib/grafana
  38. # configuration files should not be modifiable by grafana user, as this can be a security issue
  39. chown -Rh root:$GRAFANA_GROUP /etc/grafana/*
  40. chmod 755 /etc/grafana
  41. find /etc/grafana -type f -exec chmod 640 {} ';'
  42. find /etc/grafana -type d -exec chmod 755 {} ';'
  43. if [ -x /bin/systemctl ] ; then
  44. echo "### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd"
  45. echo " sudo /bin/systemctl daemon-reload"
  46. echo " sudo /bin/systemctl enable grafana-server.service"
  47. echo "### You can start grafana-server by executing"
  48. echo " sudo /bin/systemctl start grafana-server.service"
  49. elif [ -x /sbin/chkconfig ] ; then
  50. echo "### NOT starting grafana-server by default on bootup, please execute"
  51. echo " sudo /sbin/chkconfig --add grafana-server"
  52. echo "### In order to start grafana-server, execute"
  53. echo " sudo service grafana-server start"
  54. fi
  55. elif [ $1 -ge 2 ] ; then
  56. if [ -x /opt/grafana/ ]; then
  57. echo "### Upgrading Notice ### "
  58. echo "-- New grafana install home is /usr/share/grafana"
  59. echo "-- Please move sqlite3 database to /var/lib/grafana/"
  60. echo "-- Notice: service name && binary changed to grafana-server"
  61. fi
  62. if [ "$RESTART_ON_UPGRADE" == "true" ]; then
  63. stopGrafana
  64. startGrafana
  65. fi
  66. fi