feat: Restored requirements.txt and Dockerfile to project root. Project is now self-contained for Docker builds.
This commit is contained in:
26
Dockerfile
Normal file
26
Dockerfile
Normal file
@@ -0,0 +1,26 @@
|
||||
# Aether API - FastAPI + Gunicorn
|
||||
# Using tiangolo's optimized FastAPI image
|
||||
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.11
|
||||
|
||||
LABEL maintainer="Scott Idem <scott.idem@oneskyit.com>"
|
||||
|
||||
WORKDIR /srv/aether_api
|
||||
|
||||
# Install OS dependencies for image processing and utilities
|
||||
RUN apt-get update; \
|
||||
apt-get install -y \
|
||||
imagemagick ffmpeg curl poppler-utils \
|
||||
; \
|
||||
rm -rf /var/lib/apt/lists/*;
|
||||
|
||||
# Install Python requirements
|
||||
# This file is now located in the project root
|
||||
COPY requirements.txt /tmp/requirements.txt
|
||||
RUN pip install --no-cache-dir -r /tmp/requirements.txt
|
||||
|
||||
# Create a reference of actual installed versions
|
||||
RUN pip freeze >> /tmp/aether_fastapi_requirements_current.txt
|
||||
|
||||
# The application source is mounted as a volume in docker-compose.yml
|
||||
# for real-time development, but we set the default command here.
|
||||
CMD ["gunicorn", "--conf", "/conf/gunicorn_fastapi_conf.py"]
|
||||
65
requirements.txt
Normal file
65
requirements.txt
Normal file
@@ -0,0 +1,65 @@
|
||||
# Aether API - Python Requirements
|
||||
# Managed via Aether Docker Orchestration (Unified V3)
|
||||
|
||||
aiofiles
|
||||
argon2-cffi
|
||||
argon2-cffi-bindings
|
||||
# asgiref
|
||||
# async-timeout
|
||||
# baize
|
||||
charset-normalizer
|
||||
click
|
||||
Deprecated
|
||||
dnspython
|
||||
email-validator
|
||||
et-xmlfile
|
||||
fastapi==0.115.5
|
||||
# greenlet
|
||||
gunicorn
|
||||
h11
|
||||
html2text
|
||||
httpcore
|
||||
httptools
|
||||
httpx
|
||||
idna
|
||||
# itsdangerous
|
||||
# Jinja2
|
||||
MarkupSafe
|
||||
mysqlclient
|
||||
numpy
|
||||
openpyxl
|
||||
orjson
|
||||
# packaging
|
||||
pandas
|
||||
passlib
|
||||
pdf2image
|
||||
Pillow
|
||||
pycparser
|
||||
pydantic==1.*
|
||||
PyJWT
|
||||
pyparsing
|
||||
python-dateutil
|
||||
# python-dotenv
|
||||
python-multipart
|
||||
pytz
|
||||
PyYAML
|
||||
qrcode
|
||||
redis[hiredis]
|
||||
requests
|
||||
rfc3986
|
||||
# six
|
||||
sniffio
|
||||
SQLAlchemy==1.4.52
|
||||
starlette
|
||||
stripe
|
||||
typing_extensions
|
||||
ujson
|
||||
urllib3
|
||||
uvicorn
|
||||
uvloop
|
||||
Wand
|
||||
watchfiles
|
||||
# watchgod
|
||||
websockets
|
||||
wrapt
|
||||
xlrd
|
||||
Reference in New Issue
Block a user