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

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay