It works on your machine. Time to open it to others
From an empty VPS to a link you can send.
Connect a server with one command, create a project in the wizard and open it on a domain with a certificate.
Free: 1 server, 1 project, 1 domain. You pay your hosting provider for the server.
Three steps to a working link
The panel shows the installation command with your server token. Everything else is done in the panel.
$ curl -fsSL https://get.nolay.ru/install.sh | sudo sh
What Nolay takes care of
Deploy
Builds from Git or a Dockerfile on your server, or runs a ready image. If the build or the readiness check fails, the new version is not applied and the old one keeps running.
Node and Express: 29 s from command to a running version
Zero-downtime deploy
The new version starts next to the old one. Traffic switches only after a successful readiness check (health check).
4075 requests while switching versions, 0 errors
Rollback
Roll back to any previous version from history. The image is already on the server, nothing is rebuilt.
Usually 10 to 26 s to a running version
Logs
Build log and container output in the panel, build lines arrive as the build runs.
Checked on a clean VPS on 21 September 2026
Domains and TLS
A domain per project. The agent issues and renews a Let's Encrypt certificate via HTTP-01.
HTTPS 200 on a domain and a subdomain with its own certificate
Backups
Volumes and database dumps to your S3 storage on a schedule.
Restore of 210 MB in 20 s, checksum matched
Alerts
An email when a server goes offline, a deploy fails or a project stops working. Repeats of one alert are merged.
Offline email after 2 minutes without contact with the agent
Services
Postgres, MySQL, MongoDB, Redis and Valkey next to your project. The project receives the connection string as a secret.
The service port is never published outside
Tunnels
A server at home or behind NAT, without a public IP. The agent keeps an outbound tunnel, the project opens at an address from Nolay.
No public IP and no open ports on the server
Eight templates, no Dockerfile needed
If your project uses one of these stacks, you do not need a Dockerfile: the wizard detects the stack, builder and port.
- How the agent recognises the stack
- package.json with the next dependency
- Run
- node server.js from .next/standalone, port 3000, user node
- Build, cold and repeat
- 127 and 104 s
- Image
- 308 MB
Measured on a VPS with 1 vCPU and 955 MB on 22 September 2026.
FROM node:22-alpine AS build ENV NEXT_TELEMETRY_DISABLED=1 RUN npm ci --no-audit --no-fund RUN npm run build FROM node:22-alpine COPY --from=build /app/.next/standalone ./ USER node CMD ["sh","-c","exec node server.js"]
A price in two parts
You pay the hosting provider for the server directly, your contract is with them. The panel costs 0 on Free.
0 ₽ per month, no card
- 1 server, 1 project, 1 domain
- Zero-downtime deploys, rollback, logs
- A domain with a Let's Encrypt certificate
The server is paid separately to your hosting provider.
On request
- More servers
- More projects and domains
- Team work
Write to us and we will work out terms for your projects.
Questions before the first project
You need a VPS, any provider will do. We do not sell or resell servers. How to connect a machine and what it needs is described in the documentation, section “What you need before you start”.
There are two payments. You pay the hosting provider for the server, and your contract for it is with them. You pay us for the panel, and on Free that is zero.
Three conditions: the project runs locally, you know how to start it, and its stack is in the table of tested stacks. If the stack is not there, your own Dockerfile works too.
Run one installation command as root. The panel shows it with your server token already filled in. After that the server appears in the panel and everything else is done there.
1 server, 1 project, 1 domain. No time limit and no card. The server is paid separately to your hosting provider.
If the build or the readiness check (health check) fails, the new version is not applied and the previous one keeps running and accepting requests. The run window shows the log and the reason, and you can deploy the fixed code again.



