Start here
What is deployment in simple terms, and how it differs from publishing
In short
Deployment means moving finished code onto a server and running it there, so other people can use the program and not just you on your own computer. It means the same as publishing a website, only the word is broader: people deploy websites, bots, APIs and updates to programs that are already running. A deploy usually has four stages: build, start, health check and getting an address. On platforms like Netrun all the stages run by themselves after you upload the code, and the interface calls it publishing.
- To deploy literally means to set something out for use, which in software means installing a program on a server and starting it.
- A deploy usually has four stages: build, start, health check and getting an address.
- Production, or prod, is the live version of a program that real people use, as opposed to the version on a developer computer.
- CI/CD is automation in which code checks and deployment run by themselves after every change.
- A Telegram bot needs to be deployed too, even without a website link: it has to run on a server, not on a laptop that gets closed.
While a program runs only on your computer, you are its only user. The site opens at localhost, the bot replies until you close the laptop. For the site to open for a friend and the bot to reply at night, the code has to move to a server, a computer that is always on and connected to the internet, and run there. That is what deployment is.
Developers say deploy, interfaces often say publish, and the meaning is the same. The only difference is scope: publishing sounds like it is about websites, while you deploy everything, including bots, APIs, background scripts and updates. Below is what a deploy is made of, which words you will meet around it, and what to do so your first deploy goes without surprises.
| Word | What it means in plain language | Example |
|---|---|---|
| Deploy | Put a program on a server and start it | "I deployed the bot" means the bot no longer runs on a laptop |
| Build | Prepare code to run: download libraries, assemble files | Installing packages from requirements.txt or package.json |
| Production, prod | The live version that people use | "Prod is down" means the live site is broken |
| Server | A computer that is always on and connected to the internet | A rented machine in a data center |
| Environment | The place where code runs, with its own settings | Your laptop, a test server, the live server |
| Environment variables | Settings and secrets passed to the program from outside instead of written in the code | A bot token in a BOT_TOKEN variable |
| CI/CD | Automatic checks and deployment after every code change | Tests and publishing run by themselves after a git push |
| Rollback | Go back to the previous working version | The new version broke, so you restore yesterday's |
List your project libraries in one file#
The first stage of a deploy is the build: the server downloads the libraries your code needs. It only learns about them from a special file, such as requirements.txt for Python, package.json for Node.js or go.mod for Go. If a library is installed on your computer but missing from that file, the program crashes on the server with an error like ModuleNotFoundError. Make sure everything you import is listed there.
Move passwords and tokens out of the code#
A bot token, an AI API key and a database password should not sit in the code, because code often ends up in a repository and in other hands. On a server such values are passed to the program as environment variables, and the code reads them by name. That way the same code runs on your computer and on the server, and the secrets do not leak with it.
Check how the program starts and listens on a port#
The second stage is the start: the server needs to know which command brings the program up. A website must listen on 0.0.0.0 rather than localhost and take the port number from the PORT environment variable, otherwise it is invisible from outside. A polling bot listens on nothing and only needs its token and a clear entry point.
Choose where the program will live#
You can rent a whole server (a VPS) and set everything up yourself: the system, updates, restarts after failures, the HTTPS certificate. Or you can use an app host where the platform does all that and only needs your code. The first route gives more control, the second saves time. Beginners usually find the second one easier.
Publish the code and wait for the check#
The third and fourth stages are the health check and the address: the platform makes sure the program actually came up and responds, and only then hands out a link. On Netrun you upload code as an archive, from GitHub or straight from your AI editor, and the screen shows which stage the publish is at. If something goes wrong, the error is explained in plain words next to the logs.
Check the result and remember how to update#
Open the link from another device or message the bot from another account: if it works, the deploy succeeded. Updating the code is simply a new deploy of the new version, and the address stays the same. Keep in mind that files the program wrote to disk can disappear on update, so on Netrun anything that must be kept goes into the persistent /data folder.
Deployment sounds like something for seasoned programmers, but it boils down to one idea: move a program from your computer to a place where it works for everyone. If you would rather not deal with a server, upload your code to Netrun: the platform builds the project, starts it, checks it and gives you an HTTPS link. You can check a project in advance for free and without signing up on the check page. Try Netrun.
Common questions
How is deploying different from publishing a website?
In substance it is not: both mean putting a program on a server and running it for other people. Publishing is usually said about websites, while deploying covers any code, including bots, APIs and background scripts. In the Netrun interface a deploy is called publishing.
Do I need my own server to deploy a project?
Not necessarily. You can rent a whole server and configure it yourself, or use an app host where the server is already set up and only your code is needed. For a first project the second route is usually simpler and faster.
What does deploying to prod mean?
It means releasing a new version to the place where real people use it. Prod is the live version of a program, as opposed to the version on a developer computer or a test server. Hence the caution: a bug in prod is visible to every user.
Why does my site not open after deploying when it worked on my computer?
Most often it is one of three things: the site listens only on localhost instead of 0.0.0.0, the port is hard-coded instead of read from the PORT variable, or a required library is missing from the dependency file. None of this shows up on your own computer, but it breaks the start on a server. The deploy logs usually name the problem directly.
Does a beginner need to set up CI/CD?
Not for a first project. CI/CD pays off when changes ship often and need automatic checks with tests. While you update the project now and then, publishing again by hand is enough.
Can I deploy a project for free?
Yes, many hosts have free plans with limits. On the free Netrun plan you can publish one project: a website sleeps without visitors and wakes up by itself, while a bot runs for a limited time. Round-the-clock work needs the Pro plan.
How do I publish a project?
Upload your code or connect GitHub, answer a couple of questions about the project and get a link. Everything else — the build, the launch and HTTPS — is on us.
Do I need my own server or VPS?
No. Netrun deploys your project on its own servers. There is no VPS to rent, no systemd or nginx to configure and no certificates to renew — all of that runs for you.
Do I need to know how to work with Docker?
No. Netrun detects which language your project uses and builds it for you. If you already have a Dockerfile or docker-compose, we support them, but you do not need to write them specially.