Deployka / ChatGPT

How to deploy a project from ChatGPT

Code from ChatGPT or Cursor still needs the right files and start command. Learn what belongs in the ZIP, where secrets go, and how to verify that a bot or app actually works.

1. Ask the AI for a deployable project

Ask for the source files, dependency manifest, and a README with the exact start command. Specify whether this is a background process (a bot or worker) or a web app that listens for HTTP requests. Ask the AI to list required ENV variable names only; it does not need real tokens.

2. Check the ZIP structure

The project files should be at the archive root, not hidden inside an extra nested folder. For example:

my-bot/
  main.py
  requirements.txt
  Procfile
  README.md

For Python, Deployka uses requirements.txt. For Node.js, include package.json with a working scripts.start and a lockfile for reproducible installs. ZIP uploads can contain up to 20 MB and 300 files. Leave out .env, tokens, node_modules, virtual environments, and local database files.

3. Set the right start process

For a Telegram bot or other background process, a Procfile command can be worker: python main.py. Replace main.py if your entrypoint has another name. A Node.js worker usually runs the existing start script from package.json.

A web app must listen on 0.0.0.0 and use the PORT environment variable supplied by the platform. For FastAPI with an app object in main.py, for example: web: uvicorn main:app --host 0.0.0.0 --port $PORT. Do not hard-code an unrelated port or use a development server in production.

4. Upload the code, set ENV, and deploy

  1. Create a project and choose its type; you do not need to set up a VPS or Linux server.
  2. Upload a ZIP, provide a GitHub repository, or start from a suitable template.
  3. Review source checks and fix any reported blockers before deployment.
  4. Add required values to project ENV, such as BOT_TOKEN or OPENAI_API_KEY. Never publish them in a ZIP, README, screenshot, or support message.
  5. Click Deploy and wait for the build to finish.

5. Verify more than the running status

For a bot, send it a test message and confirm that it replies. For a web app, open its HTTPS address and check the endpoint you need. Then review Logs for a successful start and no repeating errors.

Common first-deploy errors

  • ModuleNotFoundError or an install error — check the package name and dependency manifest.
  • Telegram Unauthorized — update BOT_TOKEN in ENV; do not put it in source code.
  • A web app does not respond — check that it listens on 0.0.0.0:$PORT, not only localhost or a fixed port.
  • SQLite readonly — put the database on persistent storage, for example /data/bot.db, and make sure the application code actually uses that path. An ENV value alone does not change code that ignores it.

Fix the source, ENV, or start command and redeploy the same project. Buying a plan does not fix a code error.

Free and Nano plans

Free Nano is a separate free plan with 128 MB RAM, one project, and limits on term, idle activity, and slot availability; the applicable terms are shown before launch. Nano Reliability provides 256 MB and a persistent slot for the paid term. Choose what fits your project and check the exact terms in the interface before deploying.

More detail: ZIP, ENV, and logs documentation · Telegram bot template · SQLite and persistent data · Update ZIP without a new project

Prompt for ChatGPT

Copy this into ChatGPT: it returns a project and ENV names while secrets stay only in Deployka.

Useful links

Questions about deploying from ChatGPT

What should I ask ChatGPT to prepare?

Ask for source code, a dependency file, a README with the start command, and the names of required environment variables. Export a ZIP or use a public GitHub repository.

Do I need a terminal or server setup?

No. Create a project, upload the archive or connect the repository, fill in environment variables, and click Deploy. Set a custom start command in project settings if needed.

Where do bot tokens and API keys go?

Only in the Deployka project environment. Do not ask an AI to place real secrets in code or a README, and remove any accidentally included keys before uploading.

Why is my bot running but not replying?

Check Logs, the current BOT_TOKEN, and the message handler. If you use polling, make sure the same token is not running elsewhere and that the bot has no conflicting webhook. A running status does not test a reply.

How do I keep SQLite data after a restart?

Use an absolute path on persistent storage, such as /data/bot.db, and confirm that your code actually reads that path. An environment variable alone does not help if the app ignores it.

Telegram bot hosting without a VPS → · ZIP, environment, and logs documentation →