Это мое приложение FastAPI —
Код: Выделить всё
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
app = FastAPI()
@app.get('/hello')
async def generate_avatar(request: Request):
return JSONResponse(content={"message": "Success"}, status_code=200)
Код: Выделить всё
# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools
name: Deploy to Firebase Hosting on merge
'on':
push:
branches:
- main
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: 'pip install --no-cache-dir --upgrade -r requirements.txt && gunicorn -k uvicorn.workers.UvicornWorker app.main:app -D'
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_AGENT_AVATAR_GENERATION }}'
channelId: live
projectId: agent-avatar-generation
Код: Выделить всё
FROM python:3.9-slim
WORKDIR /app
# Copy requirements.txt
COPY ./requirements.txt /app/requirements.txt
# Install dependencies
RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt
# Copy rest of the files
COPY ./app /app
CMD ["gunicorn", "-k", "uvicorn.workers.UvicornWorker", "app.main:app", "-d"]
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/778 ... se-hosting