Documentation

Free Tier: Limits and Rules

Every account gets the free tier, with no credit card and no trial clock. This page is the complete list of what it includes, where the limits are, and what needs a paid option.

Last verified 28 September 2026 against the pricing page and the platform code. Quote these numbers freely; they change only when this page changes.

The Numbers

Limit Free tier Notes
ContainersUp to 4 per accountEach is its own AWS Fargate task with its own HTTPS address
SizeSmall: 512 MB RAM, 0.25 vCPUMedium (2 GB) and Large (4 GB) run on Always-On
Running time100 container-hours a month, per accountShared across your containers; refreshes monthly; sleeping time does not count
Deploys10 a day (5 per rolling 12 hours)Failed attempts count; a Sprint Pack or Always-On removes the limit
SleepAfter about 15 minutes without trafficA sleeping container answers with a 503 wake page
WakeAbout 60 seconds, on a browser visitScripts, cron jobs and CI runners do not wake it
Credit cardNot requiredEmail or GitHub sign-up
HTTPSIncludedYour app is at <name>.containers.snapdeploy.app with a certificate from the first deploy
BuildsUp to 60 minutes eachMost finish in 1 to 5 minutes; images build for ARM64
Image uploadTarballs up to 2 GBPublic images from Docker Hub, GHCR, Quay or ECR Public by name
Traffic100 requests a minute per IP address to one appAbove that the address gets HTTP 429 for 10 minutes; see fair use
Persistent diskNoneThe filesystem resets on redeploy, restart and wake; keep state in a database add-on or object storage
Custom domains, WebSocketsAlways-On onlyFrom $12 a month per container
DatabasesNot includedPostgreSQL, MySQL, MariaDB, MongoDB, Redis and RabbitMQ are paid add-ons, each with a $1 12-hour trial

What a Container-Hour Is

One container running for one hour uses one container-hour. Two containers awake for an hour use two. A sleeping container uses none. The 100 hours refresh every month, and the count is shown on your dashboard.

Worked example: an API that gets visits during working hours stays awake about 8 hours a day and sleeps the rest. That is roughly 8 hours a day, about 240 hours a month, so it would exceed the free tier on its own by the middle of the month. A portfolio site that gets a few visits a day is awake perhaps an hour a day and uses about 30 hours a month. The difference is traffic pattern, not code.

If a container has to be awake all day, Always-On is cheaper than trying to fit it into free hours: it never sleeps, does not consume free hours, and has no deploy limit.

Sleep and Wake

  • After about 15 minutes with no incoming traffic, a free container is stopped. Its image and settings stay; only the running process stops.
  • A sleeping container answers every request with a 503 wake page. When a person opens that page in a browser, the container starts and the page reloads in about 60 seconds.
  • A script, cron job, uptime monitor, webhook sender or CI runner receives the same 503 but does not trigger the wake. Anything that must always find the app running belongs on an Always-On container.
  • Waking starts a fresh copy of the container, so anything written to its filesystem since the last start is gone. This is the same on restart and redeploy.
  • Once awake, automated traffic is welcome: GitHub Actions, cron jobs, server-to-server calls, webhooks and monitors reach the app directly, within the shared-domain rate limit.

When You Hit a Limit

Situation What happens Options
The month's 100 hours are usedContainers cannot be started until the hours refreshWait for the refresh; add Always-On to the container that matters; or buy a $1 Sprint Pack for 24 hours
10 deploys in a day, or 5 in 12 hoursThe next deploy is refused until the window moves on; failed attempts countRead the build log before retrying; a Sprint Pack lifts the limit for 24 hours; Always-On has no deploy limit
The app must run 24/7A free container will sleep after 15 idle minutesAlways-On Small $12, Medium $25, Large $45 a month per container; 99.9% monthly uptime target
You need more than 512 MBFree containers are Small onlyMedium (2 GB, 1 vCPU) and Large (4 GB, 2 vCPU) on Always-On; resize any time
You need a fifth containerThe account limit is 4Delete one you no longer use, or contact support with the use case

The $1 Sprint Pack

A one-time purchase, no subscription: for 24 hours one Small container runs Always-On and your account has unlimited deploys. Buy it from the billing page when you hit the deploy limit or need a day of uptime for a launch or a demo. Two packs stack to 48 hours. It applies to Small (512 MB) containers only and is non-refundable.

A Sprint Pack does not add free hours; it keeps one container awake outside them. When it ends, the container goes back to the free rules.

What the Free Tier Is Not For

The same rules apply to every plan and are in the Acceptable Use Policy. Containers that break them are stopped, and the account may be suspended.

  • Proxies, VPN panels, tunnels and remote shells of any kind
  • Cryptocurrency mining, key-cracking and distributed brute-force
  • Bot farms, view manipulation and anti-bot evasion tooling
  • Flooding other apps on the shared domain or the platform itself

Free Tier and Always-On, Side by Side

  Free Always-On Small Always-On Medium Always-On Large
Price$0$12 a month per container$25$45
RAM / vCPU512 MB / 0.25512 MB / 0.252 GB / 14 GB / 2
Runs 24/7No, sleeps after 15 min idleYesYesYes
Free hours100 a month, sharedNot consumedNot consumedNot consumed
Deploys10 a dayUnlimitedUnlimitedUnlimited
Custom domains, WebSocketsNoYesYesYes
Refundn/aNon-refundable (under $15)3-day money-back, first purchase3-day money-back, first purchase

Annual and quarterly prices, GPU instances and add-on prices are on the pricing page.

Free Tier Questions

Does the SnapDeploy free tier need a credit card?

No. Sign up with an email address or a GitHub account and deploy. A payment method is needed only when you buy Always-On, a $1 Sprint Pack, a database add-on or GPU time.

Does the free tier expire?

No. There is no trial clock. The limits apply every month: 100 container-hours, up to 4 containers, 10 deploys a day. They refresh monthly and do not run out over time.

What is a container-hour?

One container running for one hour. Two containers awake for an hour use two container-hours. A sleeping container uses none, so 100 hours a month covers a lot of real use when the app sleeps between visits.

What happens when the 100 hours run out?

Your containers cannot be started again until the hours refresh at the start of the next month, unless you add Always-On to a container or buy a $1 Sprint Pack, which gives one Small container 24 hours of Always-On and unlimited deploys.

Does a cron job, webhook or CI runner wake a sleeping free container?

No. A sleeping free container answers with a 503 wake page; a browser visit wakes it in about 60 seconds, a script does not. Point scheduled jobs, webhooks and server-to-server calls at an Always-On container, which never sleeps.

Can I run all 4 free containers at the same time?

Yes. The limit is 4 containers per account and 100 container-hours a month shared across them. Four containers awake at once use four hours for every clock hour.

Can I use a custom domain or WebSockets on the free tier?

No. Custom domains and WebSockets come with Always-On, from $12 a month per container. A free container is reached at its containers.snapdeploy.app address over HTTPS.

Do I have to upgrade the whole account?

No. There is no account plan. Always-On is bought per container, so one container can run 24/7 on Always-On while the other three stay on the free tier.

Related Pages