syslog.sh 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env bash
  2. IMAGE_FAMILY=$(docker-image-info family)
  3. # Installation
  4. case "$IMAGE_FAMILY" in
  5. Debian|Ubuntu)
  6. apt-install syslog-ng syslog-ng-core
  7. ;;
  8. RedHat)
  9. yum-install syslog-ng
  10. # remove logrotate (not needed for docker)
  11. rm -f "/etc/cron.daily/logrotate"
  12. ;;
  13. Alpine)
  14. apk-install syslog-ng
  15. ;;
  16. esac
  17. ## Configuration
  18. SYSLOG_NG_VERSION=$(syslog-ng --version | grep -E -e '^Installer-Version:[ ]+[0-9]+\.[0-9]+' | head -n 1 | awk '{print $2}' | cut -f 1,2 -d .)
  19. # Disable caps inside container
  20. if [[ -f /etc/default/syslog-ng ]]; then
  21. go-replace --mode=lineinfile \
  22. -s "SYSLOGNG_OPTS" -r "SYSLOGNG_OPTS = --no-caps" \
  23. -- /etc/default/syslog-ng
  24. fi
  25. # Symlink configuration
  26. ln -s -f /opt/docker/etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf
  27. go-replace --mode=lineinfile \
  28. -s "@version" -r "@version: ${SYSLOG_NG_VERSION}" \
  29. -- /etc/syslog-ng/syslog-ng.conf
  30. # Ensure /var/lib/syslog-ng exists
  31. mkdir -p /var/lib/syslog-ng