Deploy manually

Warning

The current page still doesn’t have a translation for this language.

But you can help translating it: Contributing.

You can deploy FastAPI manually as well.

You just need to install an ASGI compatible server like:

Uvicorn

  • Uvicorn, a lightning-fast ASGI server, built on uvloop and httptools.
  1. $ pip install uvicorn[standard]
  2. ---> 100%

Tip

By adding the standard, Uvicorn will install and use some recommended extra dependencies.

That including uvloop, the high-performance drop-in replacement for asyncio, that provides the big concurrency performance boost.

Hypercorn

  • Hypercorn, an ASGI server also compatible with HTTP/2.
  1. $ pip install hypercorn
  2. ---> 100%

…or any other ASGI server.

And run your application the same way you have done in the tutorials, but without the --reload option, e.g.:

Uvicorn

  1. $ uvicorn main:app --host 0.0.0.0 --port 80
  2. <span style="color: green;">INFO</span>: Uvicorn running on http://0.0.0.0:80 (Press CTRL+C to quit)

Hypercorn

  1. $ hypercorn main:app --bind 0.0.0.0:80
  2. Running on 0.0.0.0:8080 over http (CTRL + C to quit)

You might want to set up some tooling to make sure it is restarted automatically if it stops.

You might also want to install Gunicorn and use it as a manager for Uvicorn, or use Hypercorn with multiple workers.

Making sure to fine-tune the number of workers, etc.

But if you are doing all that, you might just use the Docker image that does it automatically.