PaaS infrastructure that works everywhere

Python app hosting and deployment

Python app hosting: deploy FastAPI, Django, Flask and aiogram bots from Git, running 24/7. Our own servers in a data center, billing in rubles, automatic SSL. $6 free balance on sign-up.

Auto-deploy from Git

The platform pulls the code from your repository, builds the project and runs it.

Ready-made environment

No Nginx or Linux setup required. Reliable RelaxNet servers under the hood.

Custom domains and SSL

Connect your domain in one click, and the platform issues a Let's Encrypt SSL certificate automatically.

The platform deploys Python apps directly from your repository: it reads requirements.txt or pyproject.toml, installs dependencies into an isolated container, starts the app and gives you a working HTTPS URL. No manual server setup, gunicorn units or certificate renewal.

It works both for web apps (FastAPI, Django, Flask) and for background processes — for example, aiogram bots that need to run 24/7. Projects are reachable from anywhere and billing is in rubles — the familiar Heroku workflow: connect a repository and get a working URL.

How to deploy Python

1. Connect a repository and pick a branch

GitHub, GitLab, GitFlic and GitVerse are supported, including private repositories. The platform fetches the code itself — no need to upload archives by hand.

2. Describe dependencies and the start command

Auto-detection looks for requirements.txt (or pyproject.toml) and an entry point. For web apps, the start command must launch an ASGI/WSGI server listening on host 0.0.0.0 and the port from the PORT environment variable.

# requirements.txt
fastapi==0.115.*
uvicorn[standard]==0.32.*

# start command
uvicorn app.main:app --host 0.0.0.0 --port $PORT

# Django
gunicorn project.wsgi:application --bind 0.0.0.0:$PORT

3. Add environment variables

SECRET_KEY, DATABASE_URL and API tokens are set in the project settings and injected at startup. For Django, don't forget ALLOWED_HOSTS — otherwise the app returns a 400 error on every request.

# Django settings.py
ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', '').split(',')
DEBUG = False
CSRF_TRUSTED_ORIGINS = ['https://your-domain.com']

4. Deploy and connect a domain

Once built, the project is available right away. Add your own domain in the settings; SSL is issued and renewed automatically. Auto-deploy rebuilds the app on every push.

Common errors and fixes

The app started but returns 502

Make sure the server listens on 0.0.0.0 and the port from the PORT variable. uvicorn app:app without --host 0.0.0.0 only serves the app inside the container — it won't be reachable from outside.

Django: DisallowedHost / 400 error

The domain the project runs on isn't in ALLOWED_HOSTS. Add both the platform's technical address and your own domain, and move the list itself into an environment variable.

Django static files aren't served

There's no separate web server for static files in the container. Collect them with collectstatic during the build and serve them via WhiteNoise — or move static files to the platform's storage.

The build fails while installing a package

Pin versions in requirements.txt. Packages that need compilation (psycopg2, lxml) are better installed as binary builds — for example, psycopg2-binary.

FAQ

Which Python versions are supported?

Current stable 3.x releases. You can pin a specific version via pyproject.toml or your own Dockerfile.

Can I host a Python Telegram bot?

Yes, it's one of the most common use cases. A bot on aiogram or pyTelegramBotAPI runs 24/7, and the token is stored in environment variables. See the Telegram bot hosting page for details.

How do I connect PostgreSQL?

Create a database on the platform and get a connection string, or point to an external one via the DATABASE_URL variable. For migrations during the build, enable database access at build time.

Do I need Docker?

No, requirements.txt is enough for typical projects. A Dockerfile is needed for non-standard system dependencies — for example, ffmpeg or geospatial libraries.

How do I run background jobs and Celery?

A background process is deployed as a separate project on the same platform, sharing environment variables and access to the same database or broker.