requirements.txt or pyproject.toml before starting your app. Whether you are running a Telegram bot, a Flask or Django API, or a data-processing service, the platform gives you a clean, isolated Python environment every time you deploy. This guide covers everything you need to get your Python project running on Virtus Cloud.
Prerequisites
Before you deploy, make sure you have the following:- Python installed locally. Download it from the official Python website.
- A Virtus Cloud account — sign up at virtuscloud.app/login using your email or Discord.
- An active paid plan on your account. Browse plans at virtuscloud.app/plans.
Create your config file
Every Virtus Cloud deployment requires avirtuscloud.app configuration file at the root of your project. Create this file with your application’s settings.
Config File Reference
Learn every available parameter — MAIN, MEMORY, VERSION, DISPLAY_NAME, SUBDOMAIN, START, and more.
virtuscloud.app
Startup behavior
Virtus Cloud determines how to start your application based on whether theSTART field is set in your config file.
- If
STARTis not set, the platform runspython MAIN, whereMAINis the file defined in your config file. - If
STARTis set, the platform executes theSTARTcommand directly, bypassing the default behavior.
Custom start command example
Virtus Cloud installs dependencies by running
pip install against your requirements.txt or pyproject.toml before executing the startup command.Required files
Your ZIP archive must include the following files:| File | Purpose |
|---|---|
virtuscloud.app or virtuscloud.config | Platform configuration |
main.py (or your MAIN file) | Application entry point |
requirements.txt or pyproject.toml | Dependency manifest |
Files to exclude from your upload
Remove these files and folders before creating your ZIP:| File / Folder | Reason to exclude |
|---|---|
.venv/ | Virtus Cloud provides an isolated environment and installs dependencies itself. Including your local virtual environment causes conflicts and inflates upload size. |
ffmpeg or ffmpeg/ | ffmpeg is pre-installed in the Virtus Cloud runtime environment. You do not need to bundle it with your project. |
poetry.lock | Virtus Cloud does not currently support Poetry’s lock file. Use requirements.txt or pyproject.toml for dependency management instead. |
Upload your project
Once your files are ready, package them into a.zip archive and upload using your preferred method.
- CLI upload
- Dashboard upload
Install the CLI
If you do not have the Virtus Cloud CLI installed, run the appropriate command for your system:To update an existing installation:
Authenticate
Retrieve your API key from virtuscloud.app/account by clicking Request API Key, then run:
Troubleshooting
The main file is invalid or corrupted
The main file is invalid or corrupted
This error appears when the file path in your
MAIN parameter does not match an actual file in your project. Check that the filename and directory path are correct. If your entry point is inside a subfolder, use the relative path — for example, MAIN=src/main.py.Bad Memory
Bad Memory
The minimum RAM for a bot is 256 MB and for a website or API is 512 MB. If your application crashes due to memory pressure, increase the
MEMORY value in your config file. See the LACK_OF_RAM troubleshooting guide for more details.Dependency installation fails
Dependency installation fails
If
pip install fails during startup, check that all package names and versions in your requirements.txt are correct. Avoid using poetry.lock — convert your dependencies to requirements.txt format instead. For version pinning best practices, review your requirements.txt file.