ERPNext v15 sudden changed login - redis-socketio

Recently updated to v15 from v14 and migrated to a freshly installed v15.55 on ubuntu 24.04.

Users experienced sudden changed to other ppl login session id and interrupted to continue. Both user had to logout and login to continue.

Found issue.
i) common_sites_config.json with “redis-socketio redis//:127.0.0.1:port 13000”
ii) missing config/redis_socketio.conf and config/redis_socketio.acl file
iii) missing supervisor worker frappe-bench-redis-socketio

NOTE: i believe is the “bench setup production USER” has some bug.

I referred back to v14 there is such supervisor worker process running.

==Temporary solution==
I did the following manually

  1. Set common_site_config.json

$cd /opt/app/frappe-bench
$bench set-redis-socketio-host 127.0.0.1:12000
$cat ./sites/common_site_config.json

Result

“redis_socketio”: “redis://127.0.0.1:12000”,

$cd …/config/

  1. Change ./supervisor.conf

Add
[program:frappe-bench-redis-socketio]
command=/usr/bin/redis-server /opt/app/frappe-bench/config/redis_socketio.conf
priority=1
autostart=true
autorestart=true
stdout_logfile=/opt/app/frappe-bench/logs/redis-socketio.log
stderr_logfile=/opt/app/frappe-bench/logs/redis-socketio.error.log
user=USER
directory=/opt/app/frappe-bench/sites

Change
[group:frappe-bench-redis]
programs=frappe-bench-redis-cache,frappe-bench-redis-queue, frappe-bench-redis-socketio

  1. Create redis_socketio.conf with below.

dbfilename redis_socketio.rdb
dir /opt/app/frappe-bench/config/pids
pidfile /opt/app/frappe-bench/config/pids/redis_socketio.pid
bind 127.0.0.1
port 12000

aclfile /opt/app/frappe-bench/config/redis_socketio.acl


  1. create empty file redis_socketio.acl

  2. Reboot.

  3. sudo supervisorctl status make sure frappe-bench-redis-socketio is running

  4. Check port

$ ss -tlnp | grep redis
LISTEN 0 511 127.0.0.1:13000 0.0.0.0:* users:((“redis-server”,pid=510,fd=6))
LISTEN 0 511 127.0.0.1:12000 0.0.0.0:* users:((“redis-server”,pid=513,fd=6))
LISTEN 0 511 127.0.0.1:11000 0.0.0.0:* users:((“redis-server”,pid=511,fd=6))

Please comment if I am wrong.

Hi,

What was the exact bench setup production syntax that was used?

sudo bench setup production xx

xx is the linux user login id.