Get the project ready to run
In Node.js, a start script in package.json. In Python, a requirements.txt and the main file. The bot token is not hardcoded: the code reads it from an environment variable.
Discord bots
Send the project as a zip or through GitHub. Vertra Cloud runs the bot in an isolated container, restarts it when it crashes and shows live logs in the dashboard.
Running the bot on your own machine works until the day the laptop closes, the power goes out or the system restarts itself to update.
A bot hosted at home goes offline together with the machine. In a cloud container, the process keeps running with your computer closed.
An unhandled error takes the bot down. Here the container is restarted on its own, with a longer wait after each attempt, and the reason shows up in the logs.
Copying files, stopping the process and starting it again by hand is where things break. You send the zip or the repository, and the platform installs the dependencies and starts the bot.
A bot is a background process that connects to Discord on its own. Vertra Cloud treats your application exactly that way.
Runs in the background, with no HTTP port and no subdomain. If you later need an endpoint, such as a webhook, you can publish the application on the web.
When the bot crashes because of an error, the platform restarts it. If it crashes several times in a row within a few minutes, restarts are paused and the dashboard explains why.
Follow the bot's console in real time, next to usage metrics, and see right away what happened after a deploy.
Each application runs in its own container, separate from the others, with the memory you choose.
Environment variables live in the dashboard, encrypted at rest. The platform does not read a .env file, so the bot token goes in the variables.
Managed PostgreSQL, MongoDB, Redis and MySQL, with mandatory TLS, to store server settings, queues and whatever else the bot needs.
The path is the same for discord.js and discord.py. Only the main file and the way dependencies are installed change.
In Node.js, a start script in package.json. In Python, a requirements.txt and the main file. The bot token is not hardcoded: the code reads it from an environment variable.
Under New project, upload a .zip (up to 100 MB, and the dashboard already strips node_modules and venv first) or import a GitHub repository, private ones included. The CLI and the VS Code extension deploy too.
Check the main file, language, version and memory the platform detected. In the network step, leave web publishing off: that is what makes the application run as a bot.
Under Environment variables, create DISCORD_TOKEN with the token from the Developer Portal. If the bot uses privileged intents, enable them in the Developer Portal as well.
The platform installs the dependencies, starts the container and shows the live log. When your bot's login line appears, it is already online in your server.
Not if it is hosted. On Vertra Cloud the bot runs in a cloud container, so closing the laptop, shutting down the computer or losing your home internet does not take it down. It keeps running until you stop the application or until an error takes it down, in which case automatic restart kicks in.
No. The bot opens its own connection to Discord and does not need to receive traffic. A Bot-type application runs in the background, with no HTTP port and no subdomain.
The platform restarts the container automatically, with a longer wait after each attempt. Errors that a restart cannot fix (a missing module, a syntax error, running out of memory) and a normal process exit are not restarted. If the bot crashes several times in a row within a few minutes, automatic restarts are paused and the dashboard shows the reason; starting the bot again by hand resets the count.
In the project's environment variables, in the dashboard. They are encrypted at rest and reach the container at startup. The platform does not read a .env file, so the code must read the token from the environment: process.env in Node.js, os.environ in Python.
The platform runs 13 languages, including JavaScript, TypeScript, Python, Go, Rust, Java, C# (.NET) and Elixir. For Discord the most common choices are discord.js on Node.js and discord.py on Python, but any library that runs on one of those languages works.
Creating applications requires an active plan on the account. Prices and what each plan includes are on the pricing page, which is always the up-to-date source.