SERVERBORNForged for speed
Knowledge Base · Email & advanced

FastAPI on a subdomain

Spin up a real Python 3.12 + FastAPI service in its own container on its own subdomain, a live API next to your website in about a minute.

⏱ 5 min Advanced 9 steps Updated October 2026
Knowledge Base/Email & advanced/Python apps

Create an app

  1. Open Python apps

    Sidebar → Advanced → Python apps, or / then “python”.

  2. Name it

    The name becomes the subdomain: api → api.yourdomain.com. Letters, numbers, underscores.

  3. Click Create app

    We provision a Python 3.12 container with a starter FastAPI service, route the subdomain to it with SSL, and it appears in the table with a live link.

  4. Open the URL

    The starter app answers immediately: your endpoint skeleton is already serving HTTPS.

Python apps: each runs in its own container on its own subdomain
Python apps: each runs in its own container on its own subdomain

Deploy your own code

  1. Click Files on your app

    On the Python apps page, Files opens the app's own folder, pyapps/<name>/: main.py is the FastAPI entry point. (The website file manager is a different folder: code uploaded there does not run as the app.)

  2. Edit main.py (or upload your project)

    Add routes the normal FastAPI way. Drag-and-drop extra modules alongside it; list dependencies in requirements.txt in the same folder.

  3. Click Restart on the app

    Restart installs requirements.txt and reloads the app with your new code, usually within a minute. Prefer GitHub? Git deploy does the same on every push.

Apps talk to your MariaDB at 127.0.0.1:3306 using any database and user you created on the Databases page: a real API over your site's data, in the same pod.

Remove an app

  1. Click delete on the app's row

    Confirm the prompt.

  2. Everything unwinds

    The container, its subdomain routing and its files are removed. Your websites and databases are untouched.

Which frameworks work?

Anything ASGI: FastAPI is what the starter ships, Starlette and Quart run fine too. WSGI apps (Flask/Django) can run via an ASGI adapter.

How many apps can I run?

It's per-plan: the counter at the top of the page shows used/allowed.

Where are the logs?

Runtime output is captured per app; the table shows status, and a failing app surfaces its error. Deeper debugging: open a ticket and we'll pull the container log.

Still stuck?

Help is one ticket away.

Most first responses land within minutes, any hour, from a support desk that knows the platform.