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 GB; larger images, up to 10 GB, run on Always-On containersPublic 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.

What We Keep and What We Clean Up

  • Your app is never deleted for being idle. A sleeping or stopped app keeps its image, settings, environment variables, custom domain and add-ons until you delete it or your account.
  • After about 14 days without a visit, a deploy or a change, we release the idle hosting slot behind a sleeping app. Nothing you own is removed. The next wake rebuilds the slot from the stored image and takes a little longer than a normal wake, typically under two minutes instead of about one.
  • Customers with an active subscription, or one that ended within the last 60 days, are never affected by that release.
  • A public-image deploy that never started successfully is removed 24 hours after it failed, so a broken first attempt does not keep occupying one of your containers.
  • On the free tier, if you have not signed in for 15 days, deploy-on-push is paused and you get an email. Reconnect GitHub to turn it back on.
  • Add-on data is kept for 30 days after the add-on's subscription ends, and daily add-on backups are kept for 30 days.
  • Deleting your account removes everything immediately, except the records listed in the Privacy Policy.

Outbound Connections

  • A container can open outbound connections on TCP ports 1 to 27017, except 3333 and 9000 to 9099, plus DNS and NTP over UDP. This is the same on every plan.
  • That range covers HTTPS and every common database on its standard port: MySQL 3306, PostgreSQL 5432, Redis 6379, MongoDB 27017, TiDB 4000, CockroachDB 26257. SnapDeploy add-ons are reached over the internal network, so the rule does not apply to them.
  • Ports above 27017 are closed because that is where mining pools, Tor relays and command-and-control traffic live. Providers that assign a random high port to each database, such as Aiven, cannot be reached and the app sees a connection timeout. Use a provider on a standard port or a SnapDeploy add-on.

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, if your account holds an Always-On subscription, request an increase to 8 from the dashboard

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
Uploaded Docker image sizeUp to 2 GBUp to 10 GBUp to 10 GBUp to 10 GB
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 a Dedicated GPU subscription.

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.

Can a free container connect to an external database?

Yes, when the database listens on a port up to 27017 (3333 and 9000 to 9099 excluded), which is the case for MySQL, PostgreSQL, MongoDB, Redis and TiDB on their standard ports. Providers that assign a random high port, such as Aiven, cannot be reached from any plan; use a provider on a standard port or a SnapDeploy add-on.

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