entrypoint.sh 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/bin/bash
  2. set -e
  3. set -x
  4. # Cleanup
  5. rm -rf /var/www/html/*
  6. # Copy frontend files
  7. cp /speedtest/*.js /var/www/html/
  8. # Copy favicon
  9. cp /speedtest/favicon.ico /var/www/html/
  10. # Set up backend side for standlone modes
  11. if [ "$MODE" == "standalone" ]; then
  12. cp -r /speedtest/backend/ /var/www/html/backend
  13. if [ ! -z "$IPINFO_APIKEY" ]; then
  14. sed -i s/\$IPINFO_APIKEY\ =\ \'\'/\$IPINFO_APIKEY\ =\ \'$IPINFO_APIKEY\'/g /var/www/html/backend/getIP_ipInfo_apikey.php
  15. fi
  16. fi
  17. if [ "$MODE" == "backend" ]; then
  18. cp -r /speedtest/backend/* /var/www/html
  19. if [ ! -z "$IPINFO_APIKEY" ]; then
  20. sed -i s/\$IPINFO_APIKEY\ =\ \'\'/\$IPINFO_APIKEY\ =\ \'$IPINFO_APIKEY\'/g /var/www/html/getIP_ipInfo_apikey.php
  21. fi
  22. fi
  23. # Set up index.php for frontend-only or standalone modes
  24. if [ "$MODE" == "frontend" ]; then
  25. cp /speedtest/frontend.php /var/www/html/index.php
  26. elif [ "$MODE" == "standalone" ]; then
  27. cp /speedtest/standalone.php /var/www/html/index.php
  28. fi
  29. # Apply Telemetry settings when running in standalone or frontend mode and telemetry is enabled
  30. if [[ "$TELEMETRY" == "true" && ( "$MODE" == "frontend" || "$MODE" == "standalone" ) ]]; then
  31. cp -r /speedtest/results /var/www/html/results
  32. sed -i s/\$db_type\ =\ \'.*\'/\$db_type\ =\ \'sqlite\'\/g /var/www/html/results/telemetry_settings.php
  33. sed -i s/\$Sqlite_db_file\ =\ \'.*\'/\$Sqlite_db_file=\'\\\/database\\\/db.sql\'/g /var/www/html/results/telemetry_settings.php
  34. sed -i s/\$stats_password\ =\ \'.*\'/\$stats_password\ =\ \'$PASSWORD\'/g /var/www/html/results/telemetry_settings.php
  35. if [ "$ENABLE_ID_OBFUSCATION" == "true" ]; then
  36. sed -i s/\$enable_id_obfuscation\ =\ .*\;/\$enable_id_obfuscation\ =\ true\;/g /var/www/html/results/telemetry_settings.php
  37. fi
  38. if [ "$REDACT_IP_ADDRESSES" == "true" ]; then
  39. sed -i s/\$redact_ip_addresses\ =\ .*\;/\$redact_ip_addresses\ =\ true\;/g /var/www/html/results/telemetry_settings.php
  40. fi
  41. mkdir -p /database/
  42. chown www-data /database/
  43. fi
  44. chown -R www-data /var/www/html/*
  45. # Allow selection of Apache port for network_mode: host
  46. if [ "$WEBPORT" != "80" ]; then
  47. sed -i "s/^Listen 80\$/Listen $WEBPORT/g" /etc/apache2/ports.conf
  48. sed -i "s/*:80>/*:$WEBPORT>/g" /etc/apache2/sites-available/000-default.conf
  49. fi
  50. echo "Done, Starting APACHE"
  51. # This runs apache
  52. apache2-foreground