Loading...

Node.js Hosting

Node.js Hosting — Deploy Your App from Git, with the CDN in Front

Run your Node.js app on a managed container platform: push to Git and it builds and deploys, with a domain, automatic HTTPS and our global edge network in front. Managed Postgres, Redis and S3-compatible object storage are one command away, and WAF and DDoS protection are included. Works with Next.js, NestJS, Express, Nuxt or anything else that runs in a container — from $9/month with a 15-day trial.

Try every feature free for 15 days. Cancel anytime and we refund you the same day.

Node.js Hosting — Deploy Your App from Git, with the CDN in Front
GitPush to deploy
4 PoPEdge in Turkey
WAF + DDoSIncluded
$9From / month

Your Node app, without the server

You wrote the app; the tedious part is everything around it — a VPS to patch, a reverse proxy to configure, certificates to renew, a process manager to keep it alive, and a CDN to bolt on afterwards.

cdn.com.tr runs your Node.js app as a managed container app. You connect a Git repository, and every push builds a new image and rolls it out. You get a domain with automatic HTTPS, health checks that restart a failed container, logs you can read from the panel or the CLI, and the ability to scale replicas up or down.

Because it runs in a container, the runtime is whatever you say it is: your Node version, your package manager, your build step. Nothing is hidden behind a hosting panel's defaults.

Next.js, NestJS, Express — anything containerised

There is no special "supported frameworks" list, because there is no opinionated runtime to be compatible with. If your app builds into a container and listens on a port, it runs here.

That covers Next.js and Nuxt for the front end, NestJS, Express or Fastify for APIs, and background workers that never serve HTTP at all. A repository with several services — a web app, a worker, a queue — deploys as several container apps from a single Docker Compose file.

You keep control of the details that usually break on shared hosting: Node version, native modules, memory limits, and how the build actually runs.

Deploy from Git

Connect the repository once and choose the branch. Every push to that branch builds the image and deploys it. Nothing to upload, no SSH, no build server of your own to maintain.

You need a Dockerfile in the repository — that is what defines the build. It is a short file for a Node app, and it is also what makes the deploy reproducible: the same commit always produces the same image. The example below is enough for most projects.

Dockerfile — a typical Node app

FROM node:22-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:22-alpine
WORKDIR /app
ENV NODE_ENV=production PORT=3000
COPY --from=build /app ./
EXPOSE 3000
CMD ["npm", "start"]

Databases, cache and storage without extra vendors

Most Node apps need a database and a cache. Instead of signing up somewhere else and pasting connection strings into your environment by hand, enable them as managed add-ons and the connection details are injected into the app for you.

Postgres, MySQL, Redis and NATS are available, plus S3-compatible object storage for uploads and static assets — the same storage the CDN serves from, so user uploads go out over the edge rather than through your app.

It is one panel and one bill: app, database, cache, storage, DNS, CDN and WAF.

cdnctl — add-ons and deploy

cdnctl container addons enable-postgres --account <account_uuid> --app <app_uuid>
cdnctl container addons enable-redis    --account <account_uuid> --app <app_uuid>

# object storage for uploads
cdnctl object-storage buckets create --account <account_uuid> --name uploads

# ship it
cdnctl container apps deploy --account <account_uuid> --app <app_uuid>
cdnctl container apps logs   --account <account_uuid> --app <app_uuid> --tail 100

The CDN is already in front

This is the part you would otherwise wire up separately. Your app sits behind the same edge network that serves our CDN customers: static assets and cacheable responses are served from the nearest edge, with Brotli compression and automatic WebP/AVIF images, so your Node process is not spending its time on files it already sent once.

With 4 points of presence inside Turkey, Turkish users are served from an edge in-country, while a 14-country network keeps the rest fast. A Web Application Firewall, DDoS protection, bot filtering and automatic SSL sit at that same edge — included, not a higher tier.

When you deploy, purge the cache from the same CLI: `cdnctl purge --account <uuid> --path /assets/app.js`.

Staging, rollback and honest pricing

Production deploys should be boring. You can create a preprod copy of an app, deploy to it, check it, and then promote it to production — and roll back the promotion if it turns out wrong. Health checks catch a container that starts but does not become healthy.

Plans start at $9/month with the CDN, WAF, DDoS protection and automatic SSL included, plus a 15-day trial on top. Cancel any time and keep the trial, or get a same-day refund. Billing is in local currency with a proper Turkish invoice, and support is in Turkish, 7/24.

Node.js Hosting FAQ

Which Node.js versions are supported?

Whichever one your image uses. The runtime comes from your Dockerfile, so you pick the Node version and upgrade it when you choose — there is no platform-wide version to wait for.

Do I need to write a Dockerfile?

Yes, today the repository needs a Dockerfile (or a Docker Compose file with a build section) — that is what defines the build. For a typical Node app it is about ten lines; the example above works for most projects. It also makes deploys reproducible: the same commit always produces the same image.

Can I run several services from one repository?

Yes. Import a Docker Compose file and each service becomes its own container app — a web app, a background worker, a scheduler. Databases and Redis in that compose file are turned into managed add-ons instead of containers you have to look after.

How do background jobs and cron work?

A worker is just another container app with no HTTP port. For scheduled work there are jobs: a cron expression that calls a path on your app, so you do not need a separate scheduler process.

Is the CDN included or separate?

Included. Your app is behind our edge network from the first deploy — caching, compression, automatic WebP/AVIF, WAF, DDoS protection and SSL, all in the same plan from $9/month.

Ready to deploy your Node app?