Alternatives ยท Cyclic

Cyclic.sh shut down. Here is the closest thing.

Cyclic was free, deployed from GitHub and gave every app a public address, which made it the default home for a first Express app or Discord bot. It closed in 2024. The same shape exists here: a repository, a free always-on app, an https address.

Free
256 MB, always on, from GitHub
Address
https://name.fadehost.app, your domain on top
Files
/data persists, unlike Cyclic's ephemeral disk
Paid
from $2/mo for 1 GB

Moving a Cyclic app

  1. The repository is still on GitHub: connect it.
  2. Cyclic wrapped Express apps in a serverless handler; here the app is a normal long-running process, so app.listen(process.env.PORT || 8080, "0.0.0.0") is all it needs. Remove any Cyclic-specific adapter.
  3. Move environment variables across.
  4. Deploy; give the app an address; point your domain at it.

The differences that matter

Cyclic was serverless: no persistent files, cold starts, a DynamoDB add-on. Here the app is a process with a persistent /data folder, so SQLite works, long-lived WebSocket connections work, and a Discord bot runs as itself rather than through a keep-alive trick. Databases are managed MySQL, PostgreSQL, MongoDB or Redis on a private network.

Cost

The first app is free once the email is verified. More apps or more memory start at $2 a month; there is no usage meter.

Frequently asked questions

Does the Cyclic DynamoDB data come along?

Not automatically. Export it from AWS and load it into a managed database or a file under /data.

Will the app cold start like on Cyclic?

A bot or worker never sleeps. A web app's free address sleeps when idle and wakes on the next request; a paid tier keeps it awake at no extra cost.

How does the public address work?

Give the app a web address in the panel and it is served at https://name.fadehost.app behind the Cloudflare proxy with a certificate. It comes with the plan on every tier. On the free tier the address sleeps when nobody has used it for a while and wakes on the next request; on a paid tier it stays awake. Your own domain can point at it.

What happens on a deploy?

The repository is cloned at your branch, dependencies install, the build runs when there is one, the app starts. With auto-deploy on, every push does the same. The live console shows each step; a failed one is explained in plain words.

Related

Cyclic.sh shut down. Here is the closest thing.

Deploy from GitHub free