top | item 34648760

Show HN: Webapp.io - Free firecracker-based full-stack hosting

120 points| colinchartier | 3 years ago |webapp.io

43 comments

order

d3nj4l|3 years ago

You're really going to run into trouble with the "no credit card required" thing - people are going to use your service to, at worst, spam and abuse other people and, at best, mine crypto.

colinchartier|3 years ago

Webapp.io's money making part (which facilitates this) is a DevOps company (CI/CD, preview environments, etc) which is already hammered with that sort of thing - see this post (from when we were called LayerCI) discussed by TravisCI for context: https://blog.travis-ci.com/2021-10-20-mining

colinchartier|3 years ago

Hey HN,

We recently finished our firecracker-based webapp hosting platform.

It's like if Vercel and Docker had a baby: You write VM configurations in a language that looks like a Dockerfile, and every commit creates a preview environment which can be "promoted" to a production site.

Here's an example configuration:

``` FROM vm/ubuntu:18.04 RUN curl -fSsL https://deb.nodesource.com/setup_12.x | sudo -E bash RUN apt-get install nodejs COPY . . RUN npm install RUN npm run build RUN BACKGROUND npm run start EXPOSE WEBSITE localhost:3000 ```

This product combines our firecracker-based hypervisor (200ms cold starts) with a global CDN written in Go (using Caddy for TLS termination)

We can offer everything for free because we charge for the DevOps side (CI/CD & preview environments) - we have no intention of getting users and then upselling people for hosting.

We're obviously very excited about this launch, and would love to hear your feedback.

nextaccountic|3 years ago

> You write VM configurations in a language that looks like a Dockerfile

What are the differences from a Dockerfile?

benatkin|3 years ago

Serverless isn't that enjoyable for me since I don't like using old versions of stuff. Vercel doesn't support Node 19, which means you can't use built-in fetch without it logging a warning about fetch being experimental every time you call it.

IIRC it took a long time for Node 18 to be available.

Containers FTW. You can use things in production when the maintainers release to production, not when AWS Lambda has them.

sosodev|3 years ago

What are the limitations of the free hosting? Surely I can’t deploy once and scale infinitely without paying you, right?

re-thc|3 years ago

Vercel aka Zeit originally hosted Docker containers.

solatic|3 years ago

What's the strategy for dealing with persistent data? (Postgres, KV store, whatever)? How do I set that up and connect to it?

If you're running in AWS (looks like it), how do I set up private networking with RDS?

fulafel|3 years ago

It's advertised as a VM so it should have a persistent filesystem. So sounds like you can run your own DB service in the same VM or use SQLite.

Eg in this Django app example they are using PostgreSQL: https://docs.webapp.io/examples/django

isuckatcoding|3 years ago

Ty for asking this. I was searching the docs all over for this and surprised it wasn’t mentioned.

radiojasper|3 years ago

Your Docs [0] and Examples[1] page, or many [2] other page in the footer for that matter, return a blank page?

[0] https://webapp.io/docs/main

[1] https://webapp.io/docs/examples

[2] https://webapp.io/docs/integrations

Firefox, latest version, no ad blocker enabled. After nosing around in your source a bit, it seems the redirect to https://docs.webapp.io doesn't work for me?

colinchartier|3 years ago

We actually just migrated to NextJS this week - so there's still a few hairy bits with the frontend. Thanks for the report, should be fixed now.

sosodev|3 years ago

Why would I use this over fly.io? It seems to be very similar at first glance

Existenceblinks|3 years ago

I can't even find their vm details (cpu/memory + bandwidth) and many other things.

mayli|3 years ago

Same question here, it seems to be a fly.io clone without the global anycast network.

colinchartier|3 years ago

Practically - We don't actually require you to use Docker, and we don't use it under the hood. The configuration (which looks like a Dockerfile) can run multiple containers in the same VM:

FROM vm/ubuntu:22.04

RUN (install docker)

RUN REPEATABLE docker-compose build

RUN BACKGROUND docker-compose up

EXPOSE WEBSITE localhost:8080

You can also just run entirely non-docker services:

RUN BACKGROUND redis-server

- The DSL will watch which files are used for each build step to skip everything you haven't changed, so builds are much faster - You can use us to clone VMs and run Cypress tests in parallel, then promote one of the clones to a preview environment, and another to a production environment - We're more declarative (in my opinion), we don't have a CLI. Everything is done by editing a Layerfile and git pushing it

TL;DR, we focused on a declarative configuration format to quickly build, fork, and hibernate VMs, where Fly is more focused on building/shipping docker containers (though the products do fill a similar niche)

intelVISA|3 years ago

It's good to diversify the built-on-Firecracker-as-a-service space.

nextaccountic|3 years ago

When creating an account with Github, why do you ask permission to "act on my behalf"? There is no such permission when creating an account with Google

langsoul-com|3 years ago

Fly.io has no credit card free hosting for a bit, then immediately stopped due to insane bot abuse.

Might wanna check their article, because you may face the same problems.

mleonhard|3 years ago

We need our server to run very close to our database, preferably in the same datacenter. Does webapp.io support that yet?

nickphx|3 years ago

I signed up and tried to authorize a single github repo, I received a '500 error' from https://webapp.io/api/after_github_oauth?code=&installation_...

colinchartier|3 years ago

It looks like all of the auth data is empty - maybe you logged into an account which doesn't have permission to install on that repository?

If you email me at colin@webapp.io with your GitHub account name, webapp.io account (if any), and the name of the repository, I can take a look for you.

ushakov|3 years ago

Any chance you will open-source this?

hobo_mark|3 years ago

This application will be able to:

- Access the authenticated user's API Grants complete read/write access to the API, including all groups and projects, the container registry, and the package registry

Why is write access necessary?

lyeniac|3 years ago

Hey HN! Co-founder of webapp.io here. Looking forward to your feedback :)

NayamAmarshe|3 years ago

Looks great! Will deploy my next project on here and see how good it is :)

nephanth|3 years ago

Where does the money come from?