Run your discord.js bot, webhook receiver or small Node.js API while your own PC is off, with npm, .env secrets and live console logs at hand.

Select from our wide range of optimized game servers. Each server is configured for maximum performance and comes with DDoS protection.
Compare recommended use, plan hardware and monthly prices.
| Plan | Recommended for | Hardware | Monthly price |
|---|---|---|---|
| Discord 1GB | Budget series: single-server command botThe natural starting point for hobby projects, moderation and role bots. | Unmetered · 1 GB · Unmetered SSD | ₺36.00/mo |
| Discord 2GB | Budget series: bot in dozens of serversFor bots with a growing cache, or one that also runs a small webhook receiver. | Unmetered · 2 GB · Unmetered SSD | ₺72.00/mo |
| Discord 3GB | Budget series: music, images or an APIFor voice, canvas image generation or an Express API in the same process. | Unmetered · 3 GB · Unmetered SSD | ₺108.00/mo |
| Discord 1GB | Premium series: single-server command botThe same 1 GB of RAM in the premium series; compare series on the order page. | Unmetered · 1 GB · Unmetered SSD | ₺36.00/mo |
| Discord 2GB | Premium series: growing multi-server bot2 GB for multi-server bots; the order page lists what the premium series adds. | Unmetered · 2 GB · Unmetered SSD | ₺72.00/mo |
| Discord 3GB | Premium series: heavy bot or small APIThe premium version of the largest RAM option, suited to music bots and APIs. | Unmetered · 3 GB · Unmetered SSD | ₺108.00/mo |
What a Node.js bot or small app needs to stay up without babysitting.
Your console.log output and uncaught errors appear in the panel console as they happen, so you read the last lines to find out why the bot stopped instead of guessing.
Packages like discord.js, dotenv or express install from package.json with npm. There is no need to drag your local node_modules folder onto the server.
Keep your bot token and API keys in a .env file and load them with dotenv. Even if you push your code to GitHub, the secrets stay on the server.
Because the bot does not depend on your computer, it keeps answering commands while you sleep. If it ever crashes, start, stop and restart are one click away in the panel.
Upload changed files with SFTP or the file manager and restart the bot. A small SQLite database or JSON config files can live in the same project folder.
A bot that will not start, a missing module or a Node.js version question: reach our team any time by ticket, Discord, WhatsApp, phone or live chat.
Node.js Discord bot hosting at TheCrewHost starts at ₺36.00 ($0.90) per month and keeps a discord.js bot running 24/7 on our servers in İstanbul. Upload your code and package.json through the file manager or SFTP, install dependencies with npm, and keep your token in a .env file instead of your source code. The panel console streams your bot's output live, so when an error takes it down you can see why and restart it with one click. RAM options run from 1 GB to 3 GB across two series, budget and premium, and you can move up as a single-server moderation bot grows into something hundreds of communities rely on.
These plans are built for Node.js processes that need to run continuously, and the most common use is a Discord bot written with discord.js: moderation, reaction roles, tickets, leveling and economy bots, or small tools that post server stats. Since the bot runs on a server rather than your PC, it keeps responding after you shut your computer down.
They are useful beyond Discord, too. A small Express app that receives webhooks from GitHub or a payment provider, a scheduled job that pulls data and posts it to a channel, or a simple JSON API for your community all fit comfortably.
It helps to know the limits. A website with its own domain, an SSL certificate and heavy visitor traffic belongs on web hosting or a VPS. These plans are for keeping a single Node.js process reliably alive.
Upload your code, package.json and package-lock.json if you have one. Skip the node_modules folder, because dependencies are installed on the server with npm. That matters most for packages with native builds such as better-sqlite3, since a module compiled on a different operating system may not run on the server.
Make sure the main field in package.json, and the start script if you use one, point at your bot's real entry file, such as index.js. Keep the folder layout identical to your local project; a config file read through a relative path will throw on the very first line if it lands in the wrong folder.
Watch the console on the first run. If you see the log line you print in your ready handler, such as the bot's tag, you are connected. "Cannot find module" points to a missing dependency, and "An invalid token was provided" means the token is wrong or has been reset. If you run into trouble with the start command, our support team can help.
Your bot token is effectively its password and should never be hard-coded. Put a .env file in the project folder, store the token in a variable such as DISCORD_TOKEN, and read it through process.env using the dotenv package. Adding .env to .gitignore keeps the token out of any repository you share. If the token ever leaks, reset it right away in the Discord Developer Portal and put the new one in .env.
Discord keeps some data behind privileged gateway intents: Message Content, Server Members and Presence. A bot that uses prefix commands cannot read message text until Message Content is enabled in the Developer Portal. Enable the intents you need there, and list the same ones when you create your discord.js client.
Slash commands are registered with Discord once. Run your deploy script only when the commands change, not on every startup, to avoid wasted API calls and rate limits.
A simple slash-command bot or a moderation bot serving a single server will not come close to the limits of Discord 1GB. Node.js and discord.js start with a modest footprint; what really drives memory is the data your bot keeps in cache.
discord.js caches guilds, channels, members and messages. As your bot joins hundreds of servers and the member cache grows, memory use climbs, and Discord 2GB or 3GB gives it room. Limiting the cache with discord.js's makeCache and sweepers options is often worth trying before you upgrade.
Music bots that join voice channels, bots that render images with canvas, and projects running an Express API in the same process need more headroom, so starting on a 3GB plan makes sense for them. Once a bot reaches 2,500 servers, Discord requires sharding, and discord.js's ShardingManager makes that transition manageable. Plans come in budget and premium series, and the order page lists what separates them.
On a server, the most common reason a bot dies is an uncaught error in the code. In current Node.js versions, an unhandled promise rejection terminates the process by default, so a single await that tries to message a channel the bot cannot access can take the whole thing down. Wrapping important Discord calls in try/catch, logging failures with process.on('unhandledRejection') and listening to the client's error event prevent most crashes.
Network drops are usually harmless: discord.js tries to reconnect by itself when the gateway connection is lost. A bot that stays offline for good usually has an invalid token, a missing intent or an error that stops the process.
You can read the logs in the panel console, and writing important events to a file as well makes it easier to look back later. Logging process.version at startup quickly reveals errors caused by a package's minimum Node.js requirement. If you need a different Node.js version, message our support team.
1GB is enough for a single-server moderation or command bot. Look at the 2GB and 3GB plans for multi-server bots, music bots or projects that also run an API.
Put your code, package.json and package-lock.json in the root folder. Leave node_modules behind, since dependencies are installed on the server.
Define variables such as DISCORD_TOKEN in .env and read them through process.env with dotenv. Never embed the token in your source code.
Once npm has installed the packages from package.json, start the bot from the panel and watch the console until your ready message appears.
If the bot reads message content or member lists, enable Message Content and Server Members in the portal and request the same intents in your code.
Generate an invite link in the Developer Portal with the bot and applications.commands scopes. A server admin opens it to add the bot, and slash commands appear.
Common questions before moving a Node.js bot or app onto hosting.
Our İstanbul datacenter runs on Ryzen 9 hardware, delivering low latency to players in Türkiye and good connectivity to Europe, the Middle East and the Caucasus.
Turkey
Everything your project needs — from game servers to VPS, dedicated servers, web hosting and Discord bot hosting.
Connect with our community of gamers and developers
Get instant support, share experiences, and stay updated with the latest news