We just released a new feature that will let you experience a terminal with flyctl from your browser: fly.io/terminal
Behind the scene, it does some machines magic and deploys your own private terminal so you can clone repositories and fly launch them. After 10 minutes of inactivity, it will automatically shut down (just like our Code Server recipe) and reset to a blank state.
Initially, it comes with Elixir, PHP, and Ruby (Rails) built in to help users get unblocked if they face language-specific issues but we want to improve this in the future plus it’s also possible to apt-get things as needed.
Gotta say, this was immensely useful this morning! I pushed out a change to one of my projects, which broke part of the api. Not too much, but enough that some users emailed me.
Unfortunately, shortly after I deployed my laptop went “pop” and I was left without any way to resolve the problem.
Working from my iPad, using this new CLI, I was able to fly deploy -i {img} to roll back to the previous version. (btw, we really need a rollback feature! especially from the web UI)
Some comments/improvements:
please try using this from an iPad/tablet during development. Not being able to repeat commands is quite annoying. Eg, pressing the “up” cursor isn’t possible.
being able to collapse the sidebar would be good to get more screen real estate. Also being able to set the text size.
some way to not have to repeat -a arg for all commands would be nice. Maybe that could be suggested in the welcome message when starting up the CLI?
Other than that, it was really useful, and saved my users some headaches while I’m unable to resolve the issue.
This sounds really cool! Does it still work? When I go to https://fly.io/terminal/ and click the “Launch WebCLI” button, I see a progress spinner for “Finishing Checking if machine is reachable.” that never finishes.
I have the same issue today. Clicking the “Launch WebCLI” button, I see a progress spinner for “Finishing Checking if machine is reachable.” that never finishes.
The “Upload a project directory” seems kinda useful but it would be cool if you could also upload a single file through it (or through a separate thing). The use case I’m imagining is doing a git clone of a public repository through the shell and later uploading just the fly.toml file with proper configuration (which is easier and faster to do than creating a new file through vim or installing nano). Right now, dragging and dropping a file on it just freezes the whole shell and you have to refresh the page.
And one more thing I was wondering about, is there any reason to leave the user at the /app/bin directory? It seems to contain a bunch of files that I’m not sure are useful to the user, perhaps the Web CLI could leave the user in the home directory instead?
As I browsered some tips before, this pop up will disappear after 20 minus.
But sadly, I’m fighting exhausted with this whole afternoon.
I switched some proxies, but it doesn’t work, help me a little bit pls.
I get the same error. I think it only happens if the machine is already running. If I go to https://flyctl.sh/shell directly I get connected to the existing session.
Probably have to wait until one of the Fly devs fixes this (@lubien?)
Depending on your use case, there might be a simple alternative – for example create a dummy Dockerfile app (CMD sleep infinity with any base image), set auto_stop_machines to false in fly.toml, deploy, then start an SSH session using flyctl ssh console.