migrate_options.sh 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/bash
  2. migrate_solr_config_options() {
  3. sed -i --follow-symlinks '$a\' mailcow.conf
  4. if grep -q "SOLR_HEAP" mailcow.conf; then
  5. echo "Removing SOLR_HEAP in mailcow.conf"
  6. sed -i '/# Solr heap size in MB\b/d' mailcow.conf
  7. sed -i '/# Solr is a prone to run\b/d' mailcow.conf
  8. sed -i '/SOLR_HEAP\b/d' mailcow.conf
  9. fi
  10. if grep -q "SKIP_SOLR" mailcow.conf; then
  11. echo "Removing SKIP_SOLR in mailcow.conf"
  12. sed -i '/\bSkip Solr on low-memory\b/d' mailcow.conf
  13. sed -i '/\bSolr is disabled by default\b/d' mailcow.conf
  14. sed -i '/\bDisable Solr or\b/d' mailcow.conf
  15. sed -i '/\bSKIP_SOLR\b/d' mailcow.conf
  16. fi
  17. if grep -q "SOLR_PORT" mailcow.conf; then
  18. echo "Removing SOLR_PORT in mailcow.conf"
  19. sed -i '/\bSOLR_PORT\b/d' mailcow.conf
  20. fi
  21. if grep -q "FLATCURVE_EXPERIMENTAL" mailcow.conf; then
  22. echo "Removing FLATCURVE_EXPERIMENTAL in mailcow.conf"
  23. sed -i '/\bFLATCURVE_EXPERIMENTAL\b/d' mailcow.conf
  24. fi
  25. solr_volume=$(docker volume ls -qf name=^${COMPOSE_PROJECT_NAME}_solr-vol-1)
  26. if [[ -n $solr_volume ]]; then
  27. echo -e "\e[34mSolr has been replaced within mailcow since 2025-01.\nThe volume $solr_volume is unused.\e[0m"
  28. sleep 1
  29. if [ ! "$FORCE" ]; then
  30. read -r -p "Remove $solr_volume? [y/N] " response
  31. if [[ "$response" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
  32. echo -e "\e[33mRemoving $solr_volume...\e[0m"
  33. docker volume rm $solr_volume || echo -e "\e[31mFailed to remove. Remove it manually!\e[0m"
  34. echo -e "\e[32mSuccessfully removed $solr_volume!\e[0m"
  35. else
  36. echo -e "Not removing $solr_volume. Run \`docker volume rm $solr_volume\` manually if needed."
  37. fi
  38. else
  39. echo -e "\e[33mForce removing $solr_volume...\e[0m"
  40. docker volume rm $solr_volume || echo -e "\e[31mFailed to remove. Remove it manually!\e[0m"
  41. echo -e "\e[32mSuccessfully removed $solr_volume!\e[0m"
  42. fi
  43. fi
  44. # Delete old fts.conf before forced switch to flatcurve to ensure update is working properly
  45. FTS_CONF_PATH="${SCRIPT_DIR}/data/conf/dovecot/conf.d/fts.conf"
  46. if [[ -f "$FTS_CONF_PATH" ]]; then
  47. if grep -q "Autogenerated by mailcow" "$FTS_CONF_PATH"; then
  48. rm -rf $FTS_CONF_PATH
  49. fi
  50. fi
  51. }