mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-03 19:17:07 -05: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>
		
	
			
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
# -*- coding: utf-8; mode: sh indent-tabs-mode: nil -*-
 | 
						|
# SPDX-License-Identifier: AGPL-3.0-or-later
 | 
						|
 | 
						|
# shellcheck disable=SC2091
 | 
						|
# shellcheck source=utils/lib.sh
 | 
						|
. /dev/null
 | 
						|
 | 
						|
REDIS_USER="searxng-redis"
 | 
						|
REDIS_GROUP="searxng-redis"
 | 
						|
 | 
						|
REDIS_SERVICE_NAME="searxng-redis"
 | 
						|
REDIS_SYSTEMD_UNIT="${SYSTEMD_UNITS}/${REDIS_SERVICE_NAME}.service"
 | 
						|
 | 
						|
redis.help(){
 | 
						|
    cat <<EOF
 | 
						|
redis.:
 | 
						|
  remove    : delete user (${REDIS_USER}) and remove service (${REDIS_SERVICE_NAME})
 | 
						|
  userdel   : delete user (${REDIS_USER})
 | 
						|
  rmgrp     : remove <user> from group (${REDIS_USER})
 | 
						|
EOF
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
redis.remove() {
 | 
						|
    sudo_or_exit
 | 
						|
    (
 | 
						|
        set -e
 | 
						|
        redis._remove_service
 | 
						|
        redis.userdel
 | 
						|
    )
 | 
						|
    dump_return $?
 | 
						|
}
 | 
						|
 | 
						|
redis.shell() {
 | 
						|
    interactive_shell "${REDIS_USER}"
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
redis.userdel() {
 | 
						|
    sudo_or_exit
 | 
						|
    drop_service_account "${REDIS_USER}"
 | 
						|
    groupdel "${REDIS_GROUP}" 2>&1 | prefix_stdout || true
 | 
						|
}
 | 
						|
 | 
						|
redis.addgrp() {
 | 
						|
 | 
						|
    # usage: redis.addgrp <user>
 | 
						|
 | 
						|
    [[ -z $1 ]] && die_caller 42 "missing argument <user>"
 | 
						|
    sudo -H gpasswd -a "$1" "${REDIS_GROUP}"
 | 
						|
}
 | 
						|
 | 
						|
redis.rmgrp() {
 | 
						|
 | 
						|
    # usage: redis.rmgrp <user>
 | 
						|
 | 
						|
    [[ -z $1 ]] && die_caller 42 "missing argument <user>"
 | 
						|
    sudo -H gpasswd -d "$1" "${REDIS_GROUP}"
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
redis._remove_service() {
 | 
						|
    systemd_remove_service "${REDIS_SERVICE_NAME}" "${REDIS_SYSTEMD_UNIT}"
 | 
						|
}
 |