{"id":16695125,"url":"https://github.com/davidmyersdev/ccc-free-deploys","last_synced_at":"2026-03-18T21:29:53.954Z","repository":{"id":223034697,"uuid":"757233717","full_name":"davidmyersdev/ccc-free-deploys","owner":"davidmyersdev","description":"Examples of how to deploy your JS apps for free","archived":false,"fork":false,"pushed_at":"2024-02-17T19:23:52.000Z","size":3,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-29T23:46:10.823Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidmyersdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-14T04:13:50.000Z","updated_at":"2024-02-22T16:18:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"93e80a32-d813-4997-aa99-64318fe6abd8","html_url":"https://github.com/davidmyersdev/ccc-free-deploys","commit_stats":null,"previous_names":["davidmyersdev/ccc-free-deploys"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidmyersdev%2Fccc-free-deploys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidmyersdev%2Fccc-free-deploys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidmyersdev%2Fccc-free-deploys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidmyersdev%2Fccc-free-deploys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidmyersdev","download_url":"https://codeload.github.com/davidmyersdev/ccc-free-deploys/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243346823,"owners_count":20276088,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T17:05:25.980Z","updated_at":"2025-10-27T10:08:42.435Z","avatar_url":"https://github.com/davidmyersdev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"_This resource is still in progress!_\n\n# How to deploy your apps for free \u003c!-- omit in toc --\u003e\n\nA resource for the Columbus Code \u0026 Coffee presentation.\n\n### Table of Contents\n\n- [What are the different ways to deploy a web app?](#what-are-the-different-ways-to-deploy-a-web-app)\n  - [Traditional \"always on\" applications](#traditional-always-on-applications)\n    - [Traditional hosting providers](#traditional-hosting-providers)\n  - [What about \"serverless\" apps?](#what-about-serverless-apps)\n  - [Deploying to the edge](#deploying-to-the-edge)\n  - [Static sites](#static-sites)\n- [What options do I have to host my database?](#what-options-do-i-have-to-host-my-database)\n- [Alternatives to Platform as a Service (PaaS)](#alternatives-to-platform-as-a-service-paas)\n  - [Self-hosted PaaS options (deploy to a VPS)](#self-hosted-paas-options-deploy-to-a-vps)\n  - [VPS options](#vps-options)\n- [Other considerations](#other-considerations)\n- [Other resources](#other-resources)\n\n## What are the different ways to deploy a web app?\n\n### Traditional \"always on\" applications\n\n- Most expensive to host\n- Most expensive to scale\n- Usually deployed in a single region as a single instance (less capable for concurrent loads)\n- More flexible\n- More control\n- Least barrier to entry\n\n#### Traditional hosting providers\n\n| Provider                        | Pricing                                                                               | Requires Credit Card? |\n| ------------------------------- | ------------------------------------------------------------------------------------- | --------------------- |\n| [Railway](https://railway.app/) | [free](https://railway.app/pricing) ($5/m, $5/m credit)                               | Yes                   |\n| [Fly](https://fly.io/)          | [free](https://fly.io/docs/about/pricing/)                                            | Yes                   |\n| [Render](https://render.com/)   | [free](https://render.com/pricing) ([limited per user](https://docs.render.com/free)) | No                    |\n| [Glitch](https://glitch.com/)   | [free](https://glitch.com/pricing) (apps sleep after 5 minutes)                       | No                    |\n\n### What about \"serverless\" apps?\n\n- Quite a bit less expensive to host\n- Can be less expensive to scale\n- Decent user experience for users in a closer region, but often not deployed close to users around the world\n- Can handle concurrent loads better than traditional hosting\n- Less runtimes available\n- Slightly higher barrier to entry\n- Although the name implies otherwise, there are still servers involved\n- Examples:\n  - [Firebase](https://firebase.google.com/)\n  - [Vercel](https://vercel.com/)\n  - [Netlify](https://www.netlify.com/)\n\n### Deploying to the edge\n\n- Way less expensive to host\n- Way less expensive to scale\n- Better user experience (faster loads times, lower latency, etc) since code is deployed to many locations close to users\n- Least amount of runtimes available\n- Much higher barrier to entry\n- Often runs \"raw\" JavaScript (no Node)\n- Examples:\n  - [Cloudflare Workers](https://pages.cloudflare.com/)\n  - [Vercel](https://vercel.com/)\n  - [Netlify](https://www.netlify.com/)\n\n### Static sites\n\n- The cheapest to host\n- The cheapest to scale\n- The most limited (only static assets, no server)\n- Limited to technologies that run in a web browser\n- You can't run a server, and you can't authenticate your users without a third-party service (more on that later).\n- Examples:\n  - [GitHub Pages](https://pages.github.com/)\n  - [Vercel](https://vercel.com/)\n  - [Netlify](https://www.netlify.com/)\n  - [Cloudflare Pages](https://pages.cloudflare.com/)\n\n## What options do I have to host my database?\n\nApps often need a database to persist non-static data. Many hosts offer a database as a service, but there are also options for hosting your database separately from your app.\n\n- [Supabase](https://supabase.com/)\n- [Firebase Firestore](https://firebase.google.com/docs/firestore/quickstart)\n- [Cloudflare D1](https://developers.cloudflare.com/d1/)\n\n## Alternatives to Platform as a Service (PaaS)\n\n### Self-hosted PaaS options (deploy to a VPS)\n\n- [Coolify](https://coolify.io/)\n- [Dokku](https://dokku.com/)\n\n### VPS options\n\n- [Digital Ocean](https://www.digitalocean.com/)\n- ???\n\n## Other considerations\n\n- Authentication \u0026 Authorization\n  - Auth0\n  - Clerk\n  - Firebase\n  - Supabase\n- CI/CD\n  - GitHub Actions\n  - GitLab CI\n  - CircleCI\n- Monitoring\n  - UptimeRobot\n  - Pulsetic\n- Logging\n  - Datadog\n  - Sumologic\n- Error tracking\n  - Sentry\n  - AppSignal\n  - BugSnag\n- Runtime testing\n  - Playwright\n  - Cypress\n\n## Other resources\n\n- [Syntax: Own your own PaaS](https://syntax.fm/show/730/own-your-own-paas)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidmyersdev%2Fccc-free-deploys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidmyersdev%2Fccc-free-deploys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidmyersdev%2Fccc-free-deploys/lists"}