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:$PORT3. 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.