[FastAPI] 클라우드 플랫폼, Qoddi를 활용한 FastAPI 배포

2025. 4. 8. 10:58·Web

Qoddi를 활용한 FastAPI 배포

Qoddi는 클라우드 애플리케이션 호스팅 플랫폼으로 FastAPI를 배포하기 위해 사용하게 되었다. Qoddi 문서를 확인하면 배포가 가능하지만, 생각보다 직관적이지 않았다. 또한 FastAPI 배포를 위해 정리된 것을 찾지 못했기에 정리해두려고 한다. 

  • Qoddi Python Documentation
 

Qoddi - Premium Cloud App Hosting Platform

Qoddi App Hosting Platform. Deploy, manage and scale Node.js, Python, GO, Java, Ruby, PHP apps in seconds. The best alternative to Heroku | Qoddi

qoddi.com

배포를 위한 여정

회원가입 및 카드 등록

  • 서버를 생성하기 위해 회원가입과 결제할 카드 등록을 진행
  • 카드를 등록할 때, $1가 결제, 몰랐는데, 나중에 보니 청구돼 있었다 ㅠㅠ

서버 생성

  • Qoddi는 Github와 연동해 배포할 수 있기 때문에 Repo가 먼저 생성돼있어야 함
  • 자세한 서버 생성 과정은 링크 참고
  • 참고
    • FastAPI를 사용하기 위해 최소 XS를 사용해야 하는데, $0.008/hour로 유료
    • 생성 후 Pause 하면, 비용이 발생하기 않아 필요할 경우에만 켜둘 예정

Github에 존재해야 하는 파일 (총 4개)

  • main.py : FastAPI의 main.py를 생성해 서버 포트 설정
...

if __name__ == '__main__':  
   uvicorn.run(app, host="0.0.0.0", port=8000)
  • requirements.txt : 프로젝트에서 사용하는 패키지를 작성한 파일
# pip freeze > requirements.txt
# uvicorn과 fastapi만 설치한 상태
annotated-types==0.7.0
anyio==4.9.0
click==8.1.8
colorama==0.4.6
fastapi==0.115.12
h11==0.14.0
httptools==0.6.4
idna==3.10
pydantic==2.11.2
pydantic_core==2.33.1
python-dotenv==1.1.0
PyYAML==6.0.2
sniffio==1.3.1
starlette==0.46.1
typing-inspection==0.4.0
typing_extensions==4.13.1
uvicorn==0.34.0
watchfiles==1.0.4
websockets==15.0.1
  • Procfile : Qoddi는 앱 유형에 관계없이 Procfile의 "web:" 뒤를 실행
web: python3 main.py
  • runtime.txt (Optional) : 존재하지 않을 경우 안정된 최신 버전으로 실행
# 현재 (2025.04.08) 지원하는 런타임 : 3.12.1 (Default) / 3.11.7 / 3.10.13 / 3.9.18
python-3.10.10

Reference

https://esoog.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%ACpython-%ED%94%8C%EB%9D%BC%EC%8A%A4%ED%81%ACflask-%EB%B0%B0%ED%8F%AC

https://jandari91.github.io/posts/fastapi_start/

'Web' 카테고리의 다른 글

[Web] CORS의 개념과 FastAPI에서의 해결 방법  (0) 2025.05.11
[FastAPI] pytest의 개념과 활용  (0) 2025.03.02
[FastAPI] OAuth2와 JWT를 활용한 인증 구현  (0) 2025.02.22
[FastAPI] DB Migration을 위한 alembic 개념과 활용  (0) 2025.02.17
[FastAPI] 의존성 주입 (Dependency Injection) 개념과 활용  (0) 2025.02.02
'Web' 카테고리의 다른 글
  • [Web] CORS의 개념과 FastAPI에서의 해결 방법
  • [FastAPI] pytest의 개념과 활용
  • [FastAPI] OAuth2와 JWT를 활용한 인증 구현
  • [FastAPI] DB Migration을 위한 alembic 개념과 활용
기억에 남는 블로그 닉네임
기억에 남는 블로그 닉네임
  • 기억에 남는 블로그 닉네임
    얕게, 깊게
    기억에 남는 블로그 닉네임
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 분류 전체보기
      • Data Engineering
        • Airflow
        • 빅데이터
        • 자동화
        • 기타
      • Infra
        • AWS
        • Terraform
        • [인프라 구축기] Terraform 활용 AWS ..
      • CS
        • 자료구조
        • 알고리즘
        • 네트워크
        • 데이터베이스
        • 이것이 취업을 위한 코딩 테스트다 with 파이썬
      • Python
      • Web
      • Git
      • 기타
        • 취업 & 진로
        • 회고록
        • 기타
      • 프로젝트 단위 공부
        • [부스트코스] DataLit : 데이터 다루기
        • [개인 프로젝트] 공모전 크롤링
        • [개인 프로젝트] FC Online 공식 경기 분..
        • 프로젝트 개선 방안
      • [프로그래머스] 데이터 엔지니어링 데브코스 3기
        • TIL(Today I Learn)
        • 숙제
        • 기타
      • 알고리즘 연습
        • 프로그래머스
        • 백준
  • 링크

    • 깃허브
    • 링크드인
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
기억에 남는 블로그 닉네임
[FastAPI] 클라우드 플랫폼, Qoddi를 활용한 FastAPI 배포
상단으로

티스토리툴바