Redsmin proxy
Redsmin proxy securely connects one or more locally available Redis instance to Redsmin.
We announce changes on our Twitter account @redsmin, our Facebook page and Redis Weekly Newsletter.
CONFIG_FILE
: configuration file to read (if any), default:/path/to/redsmin-proxy/etc/redsmin.json
REDIS_URI
: Redis URI or socket path, defaultredis://127.0.0.1:6379
REDIS_AUTH
: Redis authenticat password, defaultnull
REDSMIN_KEY
: your Redsmin server connection key, default''
Advanced configuration:
REDSMIN_PORT
: where redsmin proxy should connect, default:993
REDSMIN_HOSTNAME
: where redsmin proxy should connect, defaultssl.redsmin.com
DEBUG
: debug mode, defaultfalse
docker run -it --rm --name redsmin-proxy -e REDSMIN_KEY=YOUR_REDSMIN_KEY -e REDIS_URI="redis://192.168.3.50:6379" redsmin/proxy
Where redis://192.168.3.50:6379
will be the ip address and port of the running Redis server and YOUR_REDSMIN_KEY
is your Redsmin key.
Let first say you've started a Redis container:
docker run --name my-redis --rm redis
You can link redsmin proxy container to the redis one with `--link:
docker run -it --rm --name redsmin-proxy --link my-redis:local-redis -e REDSMIN_KEY=YOUR_KEY -e REDIS_URI="redis://local-redis:6379" redsmin/proxy
If you want to leverage docker auto-restart docker feature, use the --restart=always
command.
REDIS_URI="redis://127.0.0.1:6379" REDSMIN_KEY="redsmin-token" redsmin
set REDIS_URI="redis://127.0.0.1:6379"
set REDSMIN_KEY="redsmin-token"
redsmin
REDIS_URI="redis://127.0.0.1:6379" REDIS_AUTH="auth-pass" REDSMIN_KEY="redsmin-token" redsmin
set REDIS_URI="redis://127.0.0.1:6379"
set REDIS_AUTH="auth-pass"
set REDSMIN_KEY="redsmin-token"
redsmin
REDIS_URI="/tmp/redis.sock" REDSMIN_KEY="5517e20046f4c7530d000357" redsmin
set REDIS_URI="/tmp/redis.sock"
set REDSMIN_KEY="5517e20046f4c7530d000357"
redsmin
Note: you may need to use sudo
to access to the socket.
First create a json configuration file, for instance /etc/redsmin.json
:
{
"key": "redsmin-token",
"redis": "redis://127.0.0.1:6379",
"auth": ""
}
Then start redsmin proxy with:
CONFIG_FILE="/etc/redsmin.json" redsmin
set CONFIG_FILE="/etc/redsmin.json"
redsmin
REDIS_URI="redis://127.0.0.1:6379" REDSMIN_KEY="redsmin-token1" redsmin &
REDIS_URI="redis://127.0.0.1:6380" REDSMIN_KEY="redsmin-token2" redsmin &
REDIS_URI="redis://127.0.0.1:6381" REDSMIN_KEY="redsmin-token3" redsmin &
REDIS_URI="redis://127.0.0.1:6382" REDSMIN_KEY="redsmin-token4" redsmin &
set REDIS_URI="redis://127.0.0.1:6379"
set REDSMIN_KEY="redsmin-token1"
START /B redsmin
set REDIS_URI="redis://127.0.0.1:6380"
set REDSMIN_KEY="redsmin-token2"
START /B redsmin
set REDIS_URI="redis://127.0.0.1:6381"
set REDSMIN_KEY="redsmin-token3"
START /B redsmin
set REDIS_URI="redis://127.0.0.1:6382"
set REDSMIN_KEY="redsmin-token4"
START /B redsmin
Note: of course we could have used multiple CONFIG_FILE
instead of environment variables.
The easiest way is to use nohup that will keep redsmin-proxy running even once the SSH session is closed. Simply connect to the server that contains Redis, run the commands below, don't forget to replace YOUR_REDSMIN_TOKEN
with the REDSMIN_TOKEN
you had when creating the proxy connection from Redsmin app.
echo '#!/usr/bin/env bash' >> redsmin-proxy.sh
echo 'while true; do REDSMIN_KEY=YOUR_REDSMIN_TOKEN redsmin; sleep 1; done;' >> redsmin-proxy.sh
chmod +x redsmin-proxy.sh
nohup ./redsmin-proxy.sh &
To check that everything is alright or to debug Redsmin proxy, you can use tail -f nohup.out
.
nohup bash -c "while true; do REDSMIN_KEY=YOUR_REDSMIN_TOKEN redsmin; sleep 1; done" &
On MacOS, Ubuntu/Debian, the simplest way is to use screen:
# start screen
screen
# start redsmin-proxy
REDIS_URI="redis://127.0.0.1:6379" REDSMIN_KEY="redsmin-token1" redsmin
# Ctrl+A+D to detach from screen
# and then to reattach to the screen session:
screen -r
But you could also use Upstart, systemd, supervisord or pm2 on these system.
On Windows you will need to create a service or use pm2.
We will happily merge into this repository any pull-request describing a configuration file for one of the above process runner (or any other one).
Redsmin proxy connects to ssl.redsmin.com
on port 993
with a secure TLS socket connection. For troubleshooting: What ip/port should I locally open to use Redsmin proxy.
npm uninstall redsmin -g