How to run on a remote server
Caravel
runs a very basic web server that lets you interact with it through the browser. What if you want to use a local browser, but connect to data and looper
processing that lives on a remote server? You can use an SSH
tunnel to map a local port to the remote port. It's quite simple, actually. When you ssh
into the server, you use the -L
flag to map the port like this:
ssh -L 5000:localhost:5000 user@server
Since flask
(and caravel
) uses port 5000 by default, this maps your localhost port 5000 to the server port 5000. You can now access the caravel
GUI using your local web browser, pointing at: http://localhost:5000
.
So a complete one-line command to run caravel
remotely with a local web GUI would be something like this:
ssh -L 5000:localhost:5000 user@server "caravel -c caravel/caravel_demo.yaml"
alternatively, to use another port, run like:
ssh -L 5001:localhost:5001 user@server "caravel -c caravel/caravel_demo.yaml -p 5001"