mirror of
				https://github.com/searxng/searxng.git
				synced 2025-10-31 18:47:07 -04:00 
			
		
		
		
	This patch migrates from `redis==5.2.1` [1] to `valkey==6.1.0` [2].
The migration to valkey is necessary because the company behind Redis has decided
to abandon the open source license. After experiencing a drop in user numbers,
they now want to run it under a dual license again. But this move demonstrates
once again how unreliable the company is and how it treats open source
developers.
To review first, read the docs::
    $ make docs.live
Follow the instructions to remove redis:
- http://0.0.0.0:8000/admin/settings/settings_redis.html
Config and install a local valkey DB:
- http://0.0.0.0:8000/admin/settings/settings_valkey.html
[1] https://pypi.org/project/redis/
[2] https://pypi.org/project/valkey/
Co-authored-by: HLFH <gaspard@dhautefeuille.eu>
Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
		
	
			
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # SPDX-License-Identifier: AGPL-3.0-or-later
 | |
| """Implement some checks in the active installation
 | |
| """
 | |
| 
 | |
| import os
 | |
| import sys
 | |
| import logging
 | |
| import warnings
 | |
| from pathlib import Path
 | |
| 
 | |
| repo_root = Path(__file__).resolve().parent.parent
 | |
| 
 | |
| LOG_FORMAT_DEBUG = '%(levelname)-7s %(name)-30.30s: %(message)s'
 | |
| logging.basicConfig(level=logging.getLevelName('DEBUG'), format=LOG_FORMAT_DEBUG)
 | |
| os.environ['SEARXNG_DEBUG'] = '1'
 | |
| 
 | |
| # from here on implement the checks of the installation
 | |
| 
 | |
| import searx
 | |
| 
 | |
| OLD_SETTING = '/etc/searx/settings.yml'
 | |
| 
 | |
| if os.path.isfile(OLD_SETTING):
 | |
|     msg = (
 | |
|         '%s is no longer valid, move setting to %s' % (
 | |
|             OLD_SETTING,
 | |
|             os.environ.get('SEARXNG_SETTINGS_PATH', '/etc/searxng/settings.yml')
 | |
|         ))
 | |
|     warnings.warn(msg, DeprecationWarning)
 | |
| 
 | |
| OLD_BRAND_ENV = repo_root / 'utils' / 'brand.env'
 | |
| 
 | |
| if os.path.isfile(OLD_BRAND_ENV):
 | |
|     msg = ('%s is no longer needed, remove the file' % (OLD_BRAND_ENV))
 | |
|     warnings.warn(msg, DeprecationWarning)
 | |
| 
 | |
| from searx import valkeydb, get_setting
 | |
| 
 | |
| if get_setting('redis.url'):
 | |
|     warnings.warn("setting redis.url is deprecated, use valkey.url", RuntimeWarning, stacklevel=2)
 | |
| 
 | |
| if not valkeydb.initialize():
 | |
|     warnings.warn("can't connect to valkey DB at: %s" % get_setting('valkey.url'), RuntimeWarning, stacklevel=2)
 | |
|     warnings.warn("--> no bot protection without valkey DB", RuntimeWarning, stacklevel=2)
 |