Introducing fly.io/terminal

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.

16 Likes

Give the following a try:

rails new welcome --minimal
cd welcome
echo 'Rails.application.routes.draw { root "rails/welcome#index" }' > config/routes.rb
fly launch
fly deploy

Accept all defaults on fly launch. Or watch it here:

6 Likes

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.

8 Likes

Glad it helped you!

As for rollback: we have new niceties coming for apps and we will start building UIs for that after the CLI part is done, we are a CLI-first company.

Thanks for those feedbacks!

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.

1 Like

Hi Alex. We had to shut it down for a few days because we had some abuse issues but it should be on again as fast as DNS propagation is possible

1 Like

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.

It is working fine now. :tada:

1 Like

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?

1 Like

Thanks for your feedback!

There’s no real reason for it to be /app/bin that I recall off, we probably need to change it too

Sorry for my interruption, I got a frequently issue as pasted below:

1 Like

As I browsered some tips before, this pop up will disappear after 20 minus.
But sadly, I’m fighting exhausted with this whole afternoon. :joy:
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.

Same error here:
image

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.

:no_mouth:Something worse happend…

We tweaked a few things and should be back to normal. Would you let me know if there’s still any issues?

this pop up all the sudden, and constantly appear in my whole afternoon.

fortunately, finally I got successful of it…

1 Like