colinchartier
Joined 9 years ago
Joined 9 years ago
"I didn't fly across the Atlantic to... Of course I did"
function software_listen(channel, callback):
if not channel_listened(channel):
sql("LISTEN " + channel)
listeners[channel].append(callback)
function on_message(channel, data): for listener in listeners[channel]
listener(channel, data)
function unlisten(channel, listener): listeners[channel].remove(listener)
if len(listeners[channel]) == 0:
sql("UNLISTEN " + channel)
Here's the actual go implementation we use:https://gist.github.com/ColinChartier/59633c1006407478168b52...
If you email me at [email protected] with your GitHub account name, webapp.io account (if any), and the name of the repository, I can take a look for you.
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)
In particular, you can do things like
RUN BACKGROUND docker-compose up
EXPOSE WEBSITE 8080
This is super important for most use-cases, since otherwise you have to deal with networking and version control.
We haven't had to formalize any policies, but they'll be similar to other cloud free tiers:
- HTTP only (no terabytes of videos or images exclusively)
- No crypto mining
- No phishing sites
- No sending emails, attacking others, etc
We currently do about a million builds a year, so 99% of projects shouldn't cause problems for us.