postinst 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/sh
  2. set -e
  3. [ -f /etc/default/grafana-server ] && . /etc/default/grafana-server
  4. startGrafana() {
  5. if [ -x /bin/systemctl ]; then
  6. /bin/systemctl daemon-reload
  7. /bin/systemctl restart grafana-server
  8. elif [ -x "/etc/init.d/grafana-server" ]; then
  9. if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
  10. invoke-rc.d grafana-server restart || true
  11. else
  12. /etc/init.d/grafana-server restart || true
  13. fi
  14. fi
  15. }
  16. case "$1" in
  17. configure)
  18. [ -z "$GRAFANA_USER" ] && GRAFANA_USER="grafana"
  19. [ -z "$GRAFANA_GROUP" ] && GRAFANA_GROUP="grafana"
  20. if ! getent group "$GRAFANA_GROUP" > /dev/null 2>&1 ; then
  21. addgroup --system "$GRAFANA_GROUP" --quiet
  22. fi
  23. if ! id $GRAFANA_USER > /dev/null 2>&1 ; then
  24. adduser --system --home /usr/share/grafana --no-create-home \
  25. --ingroup "$GRAFANA_GROUP" --disabled-password --shell /bin/false \
  26. "$GRAFANA_USER"
  27. fi
  28. if [ -x /opt/grafana/ ]; then
  29. echo "### Upgrading Notice ### "
  30. echo "-- New grafana install home is /usr/share/grafana"
  31. echo "-- Please move sqlite3 database to /var/lib/grafana/"
  32. echo "-- Notice: service name && binary changed to grafana-server"
  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. # copy user config files
  39. if [ ! -f $CONF_FILE ]; then
  40. cp /usr/share/grafana/conf/sample.ini $CONF_FILE
  41. cp /usr/share/grafana/conf/ldap.toml /etc/grafana/ldap.toml
  42. fi
  43. # configuration files should not be modifiable by grafana user, as this can be a security issue
  44. chown -Rh root:$GRAFANA_GROUP /etc/grafana/*
  45. chmod 755 /etc/grafana
  46. find /etc/grafana -type f -exec chmod 640 {} ';'
  47. find /etc/grafana -type d -exec chmod 755 {} ';'
  48. # if $2 is set, this is an upgrade
  49. if ( [ -n $2 ] && [ "$RESTART_ON_UPGRADE" = "true" ] ) ; then
  50. startGrafana
  51. # this is a fresh installation
  52. elif [ -z $2 ] ; then
  53. if [ -x /bin/systemctl ] ; then
  54. echo "### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd"
  55. echo " sudo /bin/systemctl daemon-reload"
  56. echo " sudo /bin/systemctl enable grafana-server"
  57. echo "### You can start grafana-server by executing"
  58. echo " sudo /bin/systemctl start grafana-server"
  59. elif [ -x /usr/sbin/update-rc.d ] ; then
  60. echo "### NOT starting grafana-server by default on bootup, please execute"
  61. echo " sudo update-rc.d grafana-server defaults 95 10"
  62. echo "### In order to start grafana-server, execute"
  63. echo " sudo service grafana-server start"
  64. fi
  65. fi
  66. ;;
  67. esac