DEV Community

whchi
whchi

Posted on

1 1 1

Setup FastAPI Debugger in PyCharm With Docker

The key is running only 1 worker when start uvicorn

Content

For local Python app development, use a Docker container for non-application services like databases, Redis, etc. If all of your services are running in containers, you SHOULD use remote debug.

If all of your services are run in container you SHOULD use remote debug

0. Dockerfile

Here, I will use docker-compose as example

  • docker-compose.debug.yml
version: "3.8"
services:
  pgsql:
    image: postgres:13
    restart: unless-stopped
    environment:
        - POSTGRES_HOST_AUTH_METHOD=trust
        - POSTGRES_USER=root
        - POSTGRES_PASSWORD=
        - POSTGRES_DB=postgres
    volumes:
      - postgres:/var/lib/postgresql/data
    ports:
      - '5432:5432'
    privileged: true
volumes:
  postgres:
Enter fullscreen mode Exit fullscreen mode

1. Setup Run/Debug configurations

It's located in the top-right corner.
setup

2. Setup local running configuration

Choose "FastAPI" for the running configuration.

remember to set --workers=1

setup

3. Setup container running configuration

Choose Docker Compose for your configuration.

setup

4. Add local configuration

Under "Before launch" settings, add your local running configuration.

setup

Complete setup
setup

5. Start debugger as a happy debugger

setup

Do your career a big favor. Join DEV. (The website you're on right now)

It takes one minute, it's free, and is worth it for your career.

Get started

Community matters

Top comments (0)

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️