🐛 Fix: 백엔드 500 오류 해결 및 배포용 도커 설정 완성
- Dockerfile: Poetry 대신 직접 pip 설치로 의존성 문제 해결 - highlights.py: UUID 임포트 추가, 들여쓰기 오류 수정, 1:N 관계 지원 - notes.py: Pydantic v2 호환성 수정, 다중 메모 지원 - models: highlight-note 관계를 1:1에서 1:N으로 변경 - docker-compose.yml: 배포용 환경변수 설정 ✅ 로그인 API 정상 작동 확인 ✅ 나스/맥미니 배포 준비 완료
This commit is contained in:
@@ -11,19 +11,26 @@ RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Poetry 설치
|
||||
RUN pip install poetry
|
||||
|
||||
# Poetry 설정
|
||||
ENV POETRY_NO_INTERACTION=1 \
|
||||
POETRY_VENV_IN_PROJECT=1 \
|
||||
POETRY_CACHE_DIR=/tmp/poetry_cache
|
||||
|
||||
# 의존성 파일 복사
|
||||
COPY pyproject.toml poetry.lock* ./
|
||||
|
||||
# 의존성 설치
|
||||
RUN poetry install --only=main && rm -rf $POETRY_CACHE_DIR
|
||||
# 의존성 직접 설치 (Poetry 대신 pip 사용)
|
||||
RUN pip install --no-cache-dir \
|
||||
fastapi==0.104.1 \
|
||||
uvicorn[standard]==0.24.0 \
|
||||
sqlalchemy==2.0.23 \
|
||||
asyncpg==0.29.0 \
|
||||
psycopg2-binary==2.9.7 \
|
||||
alembic==1.12.1 \
|
||||
python-jose[cryptography]==3.3.0 \
|
||||
passlib[bcrypt]==1.7.4 \
|
||||
python-multipart==0.0.6 \
|
||||
pillow==10.1.0 \
|
||||
redis==5.0.1 \
|
||||
pydantic[email]==2.5.0 \
|
||||
pydantic-settings==2.1.0 \
|
||||
python-dotenv==1.0.0 \
|
||||
httpx==0.25.2 \
|
||||
aiofiles==23.2.1 \
|
||||
jinja2==3.1.2 \
|
||||
greenlet==3.0.0
|
||||
|
||||
# 애플리케이션 코드 복사
|
||||
COPY src/ ./src/
|
||||
@@ -31,8 +38,15 @@ COPY src/ ./src/
|
||||
# 업로드 디렉토리 생성
|
||||
RUN mkdir -p /app/uploads
|
||||
|
||||
# 환경변수 설정
|
||||
ENV PYTHONPATH=/app
|
||||
ENV DATABASE_URL=postgresql+asyncpg://docuser:docpass@database:5432/document_db
|
||||
ENV SECRET_KEY=production-secret-key-change-this
|
||||
ENV ADMIN_EMAIL=admin@test.com
|
||||
ENV ADMIN_PASSWORD=admin123
|
||||
|
||||
# 포트 노출
|
||||
EXPOSE 8000
|
||||
|
||||
# 애플리케이션 실행
|
||||
CMD ["poetry", "run", "uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
# 애플리케이션 실행 (직접 uvicorn 실행)
|
||||
CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
|
||||
Reference in New Issue
Block a user