Linux boxes via SSH: suspended when disconected

(shellbox.dev)

126 points | by messh 6 hours ago

20 comments

  • Egor3f 6 hours ago
    $36/mo for 2/4/50 VPS without public IP... Ok, I get the idea that the service is for non-regular use, but I think even $0.005 per hour ($3.6/mo) of suspended state is too expensive. The same config in Hetzner is just $4.09/mo for 24/7 working VPS with public IPv4 address
    • messh 6 hours ago
      Hi, That is a good point actually. The suspended price has to be significantly lower than the alternative. I'll revise it.

      Still, there is the advantage of simplicity not having to deal with the web console etc. Some people may enjoy this

      • eptcyka 5 hours ago
        Have fun racing to the bottom. If I can get an unsuspended VM at 5$ a month, the suspendable one has to be significantly faster or significantly cheaper. Then again, take my gnawing with a boulder of salt for I will not be a customer. I have my own server that is running 24/7 already.
        • saghm 3 hours ago
          Yeah, I don't really see the suspension as something worth paying more for; the only potential "feature" I can imagine is it being significantly cheaper, which seems tough given how cheap a VPS already is.
          • littlestymaar 2 hours ago
            > which seems tough given how cheap a VPS already is.

            A suspended machine only costs its disk usage to the hoster. You can have 800 of them on a machine with 4TB SSD. You can't say the same for VPS at all.

            • saghm 2 hours ago
              If the pricing for a product like this reflected that, it would certainly be more appealing to me. $5 a month is already so low though that unless I got way better performance for the same price or paid like, $0.50 a month or less for the same performance, it just doesn't seem worth it to me.
            • lacunary 50 minutes ago
              it has to cost some amount in reserved capacity too. for every n suspended machines there is some small fraction of a machine's cpu/ram capacity that must be kept in reserve, like in a fractional lending system.
      • einsteinx2 5 hours ago
        Yeah this is a cool idea but the pricing is way too high. For anything I would use this for I could just set up any VPS from any provider for cheaper and it’s stateful in the sense that it’s my own VPS and my files/applications/tmux sessions/whatever will be there the next time I SSH in.

        The UX here seems really nice, but after spending a couple minutes setting up the VPS, I essentially get the same UX (aka just ssh in and so stuff).

        I’d potentially be willing to pay some premium over a standard VPS, but certainly not a 10x premium…honestly probably not even 2x.

        • littlestymaar 2 hours ago
          I think it can be worth it if the suspended cost is much cheaper (like ten times) than an idle VPS, as long as you don't use the machine too often (if the active cost is 10 times more expensive than a VPS, it makes sense as long as you don't use it more than 800h a year).
      • nine_k 5 hours ago
        The interesting part here is that the box is stateful, unlike a Lambda. You return literally to the point where you left off.
        • reactordev 2 hours ago
          A VPS does the same thing for far cheaper.
    • nine_k 5 hours ago
      Interesting to compare with Fly's sprites: https://sprites.dev/#billing
      • messh 5 hours ago
        One difference other than price is that sprites doesn't seem to use ssh
        • nine_k 5 hours ago
          Also, they cost less than a shellbox when unused (idle), and more when used.
        • blackqueeriroh 5 hours ago
          You can use ssh with a sprite.
          • indigodaddy 1 hour ago
            Nope, unless they changed this recently. It's an ssh-like way to connect and get a console/terminal, but it's not ssh, and there is no transfer capability
    • TurdF3rguson 4 hours ago
      I think the comparison has to be with EC2 spot right? It feels like EC2 is the better deal, but maybe more of a pain to deal with their UI.
      • kelnos 4 hours ago
        Sort of, but maybe not quite? When you spin up an EC2 spot instance, it's a fresh instance with whatever AMI you load into it, and it's a fresh boot at that time. (You can save persistent data to an EBS volume that you create once up front and then attach to each new instance, of course.)

        With this service, it seems like the VM underpinning your session is suspended (like as if you were to suspend-to-RAM or hibernate your laptop), and then resumed the next time you sign in, so not only is the filesystem in the same state as it was during your last session, but any background processes that have spun up since then are resumed as well, and are still running.

        • electroly 3 hours ago
          EC2 instances can hibernate, too. You stop paying for the instance while it's hibernated; you pay the EBS storage cost only.

          https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernat...

        • TurdF3rguson 3 hours ago
          Right you would need it to be on-demand to hibernate like that but even then a medium will beat these prices I believe.
          • arianvanp 2 hours ago
            I think you can technically hibernate the instance when the spot reclaim signal comes in. Then snapshot the instance and then terminate it.

            Can then spawn a new instance from the snapshot and it should unhibernate

            Whether the OS will like that... That's another point. As there will be things that change like smbios etc

            • TurdF3rguson 1 hour ago
              That's a cold boot though and things like tmux sessions will disappear. (I'm assuming that doesn't happen with shellbox)
    • nodesocket 1 hour ago
      Pricing does not make any sense. I can get a AWS EC2 t4g.small (2 vCPUs, 2 GB memory) with a 50 GB EBS SSD (gp3) for a total of $16.26/mo.
  • krick 1 hour ago
    As others pointed out, this isn't a very strong offer, but I'm wondering, if it would be competitive (price/performance wise), does anyone have a use-case for this? I mean, I can name quite a few if it would offer me some hardware that my laptop I'm using to access it just doesn't have, like some A100-level GPUs and stuff, then it would be fantastic: login, do your job, forget about it until the next time you need it. But for anything else it feels like I'd just prefer something more… traditional? Like, DigitalOcean droplet, AWS instance, Linode VPS, you get the idea. At least a managed Docker container. Even if it's technically more expensive and less performant, we are talking like $5/mo, and you can pretty much always easily scale-up or buy additional storage volume, all these things. And it's all yours, for pretty much all practical intents and purposes.

    Does anyone have a legit use-case when it would be actually nicer to use this on-demand type of service? (Once more, unless we are talking some serious on-demand hardware.)

    • ronsor 1 hour ago
      For these kinds of services, I think the main value would be UX improvements, such as offering an environment preconfigured with a certain set of tools (e.g. nmap, tmux, curl, etc.) and other defaults. SSH in, and don't deal with a web panel. They may also be valuable in a learning environment where you don't want student servers running 24/7.

      Other than those points, offering access to more powerful hardware is probably the best use-case.

  • zackify 2 hours ago
    There's been so many of these lately.

    I really need to share a blog post on doing this exact thing with a VPS, 2 commands to install and setup lxd.

    And then client side bash function to just make and connect via tmux and delete when you're done.

    Self hosting these services is too easy to do and you can have more control of your data and better specs.

    • indigodaddy 1 hour ago
      On this same idea, I just started working on shelley-lxc: https://github.com/jgbrwn/shelley-lxc

      Work in progress/alpha, but the core functionality works as a proof of concept. Super exciting working on this kind of stuff.

  • Imustaskforhelp 5 hours ago
    This is fascinating idea. I created an idea like this on top of firecracker and custom golang ssh client to build something like this for my own personal use case (the abstraction part of pricing and how to connect it seemed the more difficult part for me atleast)

    What stack does this use underneath?

    Good luck with launch, this idea is similar to railway in terms of pricing model. I discussed about it a few comments back and I think its an interesting idea and we are seeing alternatives within such pricing model

    Also are you using some cloud provider itself or building it yourself, I'd be interested in so many details to discover

    Have a nice day and looking forward to ya response! Good luck with your project!

    • messh 5 hours ago
      Hi thanks for the interest!

      This is all written in python and the AsyncSSH package. Firecracker for VMs with memory mapped files for ram. Paddle for billing. Caddy as a reverse proxy for certificates.

      It works on top of very large bare metal instances.

      I'm thinking maybe open sourcing but it will take some more work on the code to make it publishable w/o embarrassing myself :)

      • Imustaskforhelp 4 hours ago
        THanks for your response! as well

        I am interested in which bare metal instances from which provider are you using if I may ask since I had a similar idea (as mentioned before) and I wanted to deploy it on hetzner but I was always worried that hetzner's policy might be too harsh for it even though they are one of the cheapest options out there

        Which server provider did you end up using?

        Thanks once again for your in depth response, these are the things I come to hackernews for! cheers and looking to ya response

        • messh 4 hours ago
          Hetzner auction servers, not cloud
          • Imustaskforhelp 4 hours ago
            Hm I had thought the same! Interesting thanks for responding once again but what are your thoughts on the fact that someone can abuse the situation and your account might get banned and hetzner has a pretty strict policy in that

            When I wished to create something as such, this was the most major thing I was worried about. I am curious what your thoughts are on it and how are you managing it (the fact that anyone might abuse in your service which could then impact you and hetzner relations and they might block/restrict you)

            I have heard that hetzner requires you to respond in hours or similar. Like I am interested, did you talk to hetzner people (they are usually very kind and I love that about them) or not, because I remember asking some question to that in similar vein but I had gotten the answer that I am still responsible for what happens downstreams and that worried me

          • Trufa 32 minutes ago
            How will you handle for example if someone uses this for crypto stuff that's against TOS is hetzner.
      • chwzr 4 hours ago
        Do you do something similar to the modifications codesandbox has done to firecracker, regarding mmap ram? (They have multiple blogposts about it on their blog)

        Would love to chat about details there

        • messh 4 hours ago
          I have read about it, but currently using vanilla Firecracker w/o any memory optimizations. It is as simple as it gets for now
  • qudat 2 hours ago
    This is a very cool idea and I like the simplicity of the business model! SSH has a ton of great features and its ergonomics are excellent for terminal enthusiasts. Most of us want to ssh into our cloud compute anyway. As a founder of an ssh platform (https://pico.sh) I just wanted to say welcome and good luck!

    Also If you ever want to chat about ssh feel free to reach out!

  • Liftyee 6 hours ago
    This looks quite similar to exe.dev which was on here a while ago - anyone know how it compares?
    • indigodaddy 6 hours ago
      Pretty sure shellbox.dev has been around for at least 2-3 years though - EDIT nm they have a show HN from two days ago. I must be thinking of a similarly named/sounding service
      • messh 6 hours ago
        Maybe you mean keypub.sh? That is another project of mine with similar graphic design.
        • indigodaddy 1 hour ago
          Actually I was thinking of the Devbox cloud thing, which I think they call Jetify Cloud now
        • indigodaddy 1 hour ago
          Love the site design btw. Super attractive on mobile.
    • messh 5 hours ago
      I think exe.dev is subscription. In Shellbox.dev you have funds and pay very little when not connected
      • indigodaddy 1 hour ago
        Do you do any resource scaling at all? What happens if my workload hammers the VM resources?
  • bks 2 hours ago
    What a brilliant billing and account interaction interface. I legitimately wanted to build something like this for a transactional SMS provider where it would all be provisioned, managed, configured on the CLI. Do you have any tips on how you built this out so elegantly?
  • theykk 2 hours ago
    I made something similar last week using rust. It uses docker container with bunch of tool pre loaded. if anyone interested source code https://github.com/TheYkk/agentman
  • gvldev 5 hours ago
    I've been trying to come up with a hypothetical use case for this. I can't use this as a server without keeping an active session right? I wonder if you could get around this by sshing into itself from inside the primary session. Is that an edge case you've considered?
    • messh 5 hours ago
      This is a feature I want to implement: an option to keep boxes running while disconnected. Maybe with something like

      ssh shellbox.dev keepalive box1

      • gvldev 4 hours ago
        Maybe this and other future extended features could be configured via some host-accessible mounted conf.d? Otherwise if I forget to use that command on every login, I might just forget, logout, and go on thinking my server is still running.
    • kelnos 4 hours ago
      For this use case, why wouldn't you just instead run a VPS on AWS or some cheaper platform?
  • zinodaur 4 hours ago
    Love this idea! Started building a version of it a while ago, but gave up because my resume time was too slow

    My job has their own DCs, but inexplicably hosts devboxes in EC2 - an autosuspend feature for cost savings sounds awesome.

    Feature request: let me give you a Dropbox folder to persist/load my suspended vms from/to, that way i dont get charged for storage when not using it, and i can walk away whenever i want

    • indigodaddy 1 hour ago
      The Dropbox idea sounds super interesting
  • vagab0nd 1 hour ago
    I'm curious: what's the use case? Usually when I need a server I need it to stay on and have a public IP.
    • behnamoh 1 hour ago
      I wish runpod.io and others had this feature. I've forgotten to stop my pods a few times and only learnt about it when my balance became $0.
  • littlecranky67 4 hours ago
    Not sure about the security sandbox, but given that paddle.com (your payment provider) takes 5% cut you could consider accepting lightning (bitcoin layer2) payments. QR code generation for lightning invoice is instantaneous just as payment, and will cost less than 0.1% fee (payer pays fee anyway). But the security sandbox should be solid, else it will be used for illegal stuff.
    • znpy 4 hours ago
      > you could consider accepting lightning (bitcoin layer2) payments.

      uh? i lost interest in bitcoin a few years ago, did bitcoin get actually usable for payments ?

      • kelnos 4 hours ago
        Not really. I mean, I guess the lightning stuff makes it settle/confirm faster than doing an on-chain transaction, but bitcoin as a store of value is still essentially gambling. So you'd want to immediately sell it and convert it to USD (or a stable coin, I guess), and presumably you're incurring fees at whatever exchange you're using.

        5% for paddle does sound like it kinda sucks, but I feel like any lower fee you'd end up paying with bitcoin would get eaten up by complexity, annoyance, and currency conversion risk.

        • nh2 1 hour ago
          > 5% for paddle does sound like it kinda sucks

          Don't underestimate the benefit of it doing international VAT collection and payment. Especially for small amounts.

        • littlecranky67 3 hours ago
          lightning also works for USDT, if you prefer that.
  • WhyNotHugo 4 hours ago
    Cool idea, but where's the "sign up" button?

    Trying to use any of the commands in the home page, I just see "hugo@shellbox.dev: Permission denied (publickey).". Clearly I have to register first, but there's no clue as to how.

    • messh 3 hours ago
      You are missing an ssh key. Run this first:

      ssh-keygen -t ed25519

  • yjftsjthsd-h 5 hours ago
    > Note: The -O flag is required for OpenSSH 9.0+ to use legacy SCP protocol.

    Why isn't SFTP supported?

    • messh 5 hours ago
      WIP, this is still in MVP phase...
  • orliesaurus 2 hours ago
    is there a typo in the title? disconnected takes 2 n (sorry for the nitpick)
  • mnsc 5 hours ago
    Is it non-American all the way down?
    • messh 5 hours ago
      I was born in Argentina, so technically American, yes ;)
      • WhyNotHugo 3 hours ago
        Weird fun fact (as an Argentinian who went to school in England for a few years): in English-speaking countries, America is not a continent in the same way as in Spanish. In English they have two continents: South America and North America.

        So the word "American" in English does not mean the same as "Americano" in Spanish.

        There's really no natural word in English to refer to someone from "El continente Americano", because no such continent exists in English. That's why they use the word "American" to refer to someone from USA exclusively.

        • singpolyma3 3 hours ago
          "American" to refer to USA exclusively does make sense either way because USA shares the continent with at least two other countries no matter how you slice it.
        • ekropotin 3 hours ago
          Frankly, the model with the single America continent doesn’t make any sense, because south and north Americas are so different in both geographical and cultural/historical sense.
      • messh 5 hours ago
        If it is successful then the next region would be in the US
  • gildenFish 3 hours ago
    Looks cool. You probably need a fyi or faq indicating that how the account system works.
  • gigatexal 3 hours ago
    ALS no mention of GB’s of bandwidth provided.
    • indigodaddy 1 hour ago
      If it's hetzner then it's probably not something you have to worry about unless you are talking like terabytes per day
  • solumunus 4 hours ago
    But why? Genuinely want to know what one might use this for. I can imagine it would be cool for a remote dev environment but the selling point would have to be that it’s far cheaper than the alternative.
    • messh 4 hours ago
      Simpler, easy to use, more enjoyable and fun are also valid reasons
      • Kwpolska 4 hours ago
        What’s difficult to use in Hetzner or DigitalOcean?
        • hrimfaxi 2 hours ago
          One thing can be simpler than another without either of them being difficult.
  • andrewmcwatters 8 minutes ago
    [dead]