blitz.cloudBetaSign inStart free

How to deploy a Docker container for free

Run a public Docker image online for free with HTTPS and no credit card. Tested steps for blitz.cloud, the image requirements, and what the free plan covers.

Updated

You can deploy a Docker container for free on blitz.cloud: create an account without a credit card, click Host something new, search Docker Hub for the image, pick a version and a name, and it runs under an HTTPS address like whoami.yourname.blitz.cloud. The free plan has no time limit and apps don't go to sleep. The catch is that the image has to be public on Docker Hub, built for amd64, and able to run without root.

What you need

  • A blitz.cloud account. Sign up at beta.blitz.cloud with email, GitHub or Google, and confirm your email address. Until it is confirmed you can't create apps.
  • A public image on Docker Hub. Other registries such as ghcr.io can't be picked in the dashboard yet, and private images need a login blitz.cloud doesn't have.

Will my image run?

Most failed first attempts come down to three things. You can check all of them on your own machine in a minute.

  1. Architecture. blitz.cloud runs on amd64 servers. Images built on an Apple Silicon Mac with a plain docker build are arm64-only and will not start. Build with --platform linux/amd64.
  2. No root. Every app runs as user and group 1000 with all Linux capabilities dropped. An image that insists on root, or tries to change file ownership on startup, stops.
  3. A declared port. Listen on something like 8080 and declare it with EXPOSE 8080 in the Dockerfile, so blitz.cloud picks it up without you typing it.

This command runs an image roughly the way blitz.cloud does:

docker run --rm --platform linux/amd64 --user 1000:1000 --cap-drop ALL \
  --security-opt no-new-privileges -p 8080:8080 yourname/your-image:1.0.0

If curl http://localhost:8080 answers, you are in good shape.

Deploy the container

  1. Sign in at beta.blitz.cloud. The first time, you claim your address, for example lena. Your apps will live under lena.blitz.cloud.
  2. Click Host something new and choose "An app that is already packaged up".
  3. Type the image name into Which app? and pick it from the list. Official images are marked. A repository you pushed a few minutes ago can take a while to appear in Docker Hub's search.
  4. Choose a Version. Tags like latest are marked "follows new releases"; a fixed tag like 1.0.0 never changes. Click Continue.
  5. The next screen shows What this app needs: the port it will be reached on, whether it needs a database, and which folders survive a restart. blitz.cloud works these out by reading the image. If the port is wrong, you can change it under Advanced settings.
  6. Give the app a Name and an address, then click Put it online.

You watch it go through its steps, and when it is done you get a link like https://whoami.lena.blitz.cloud. The certificate for your address is issued automatically; until it is ready, a browser can briefly show a certificate warning on a brand new account.

If nothing is ready yet, the app page says so in a sentence and shows the last lines the container printed. App status and logs explains each message.

Try it with a ready-made example

The blitz-cloud-examples repository has three small apps that follow the rules above: a Node.js API, an Astro site behind nginx, and a FastAPI app. Build one, push it to your Docker Hub account, and deploy it with the steps above:

git clone https://github.com/blitzworks-io/blitz-cloud-examples.git
cd blitz-cloud-examples/python-api
docker build --platform linux/amd64 -t yourname/blitz-example-python-api:1.0.0 -t yourname/blitz-example-python-api:latest .
docker push --all-tags yourname/blitz-example-python-api

What the free plan includes

Free plan
AppsUp to 15
Memory2 GB shared across your apps and databases
Storage10 GB
Databases1
HTTPSAutomatic on every address
Sleep when idleNo
Credit cardNot needed

A pasted image gets the small size: 128 MB of memory reserved and up to 512 MB when it needs more. That fits most APIs and small web apps. A JVM app with a big heap or anything that needs several GB of RAM is a bad fit for the free plan today. The full rules are on Limits.

When blitz.cloud is the wrong choice

If you need servers outside Europe, GPU access, private images, arm64, or deploys straight from git push today, pick something else for now. If you want a container online in Germany for nothing and don't mind pushing to Docker Hub first, it fits well.

Put your first app online today.

Free plan, no credit card, no waiting list.

Create a free account