Skip to content

Commit 8f80e5b

Browse files
committed
feat: dockerize FastAPI CRUD service with MongoDB connectivity
1 parent b89c530 commit 8f80e5b

File tree

3 files changed

+221
-0
lines changed

3 files changed

+221
-0
lines changed

card_service/.dockerignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.venv
2+
__pycache__
3+
*.pyc
4+
*.pyo
5+
.env

card_service/Dockerfile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# 1. Use official Python base image
2+
FROM python:3.11-slim
3+
4+
# 2. Set work directory
5+
WORKDIR /app
6+
7+
# 3. Copy requirements and install
8+
COPY requirements.txt .
9+
RUN pip install --no-cache-dir -r requirements.txt
10+
11+
# 4. Copy the rest of your project
12+
COPY . .
13+
14+
# 5. Set environment variables
15+
ENV PYTHONUNBUFFERED=1
16+
17+
# 6. Expose FastAPI port
18+
EXPOSE 8000
19+
20+
# 7. Command to run FastAPI (not agent)
21+
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]

card_service/requirements.txt

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
aiofiles==24.1.0
2+
aiohappyeyeballs==2.4.4
3+
aiohttp==3.11.11
4+
aiosignal==1.3.2
5+
altair==5.5.0
6+
annotated-types==0.7.0
7+
anthropic==0.51.0
8+
anyio==4.8.0
9+
asyncer==0.0.7
10+
attrs==24.3.0
11+
backoff==2.2.1
12+
bidict==0.23.1
13+
blinker==1.9.0
14+
cachetools==5.5.0
15+
certifi==2024.12.14
16+
chainlit==2.5.5
17+
charset-normalizer==3.4.1
18+
chevron==0.14.0
19+
click==8.1.8
20+
colorama==0.4.6
21+
dataclasses-json==0.6.7
22+
Deprecated==1.2.18
23+
distro==1.9.0
24+
fastapi==0.115.12
25+
filelock==3.18.0
26+
filetype==1.2.0
27+
frozenlist==1.5.0
28+
fsspec==2025.3.2
29+
gitdb==4.0.12
30+
GitPython==3.1.44
31+
google-ai-generativelanguage==0.6.10
32+
google-api-core==2.24.0
33+
google-api-python-client==2.158.0
34+
google-auth==2.37.0
35+
google-auth-httplib2==0.2.0
36+
google-auth-oauthlib==1.2.1
37+
google-generativeai==0.8.3
38+
googleapis-common-protos==1.66.0
39+
greenlet==3.1.1
40+
groq==0.16.0
41+
grpcio==1.69.0
42+
grpcio-status==1.69.0
43+
h11==0.14.0
44+
h2==4.2.0
45+
hf-xet==1.1.0
46+
hpack==4.1.0
47+
httpcore==1.0.7
48+
httplib2==0.22.0
49+
httpx==0.28.1
50+
httpx-sse==0.4.0
51+
huggingface-hub==0.31.1
52+
hyperframe==6.1.0
53+
idna==3.10
54+
importlib_metadata==8.6.1
55+
inflection==0.5.1
56+
Jinja2==3.1.5
57+
jiter==0.9.0
58+
jsonpatch==1.33
59+
jsonpointer==3.0.0
60+
jsonschema==4.23.0
61+
jsonschema-specifications==2024.10.1
62+
langchain==0.3.14
63+
langchain-core==0.3.33
64+
langchain-google-genai==2.0.8
65+
langchain-groq==0.2.4
66+
langchain-text-splitters==0.3.5
67+
langsmith==0.2.10
68+
Lazify==0.4.0
69+
literalai==0.1.201
70+
markdown-it-py==3.0.0
71+
MarkupSafe==3.0.2
72+
marshmallow==3.26.1
73+
mcp==1.7.1
74+
mdurl==0.1.2
75+
motor==3.3.2
76+
mem0ai==0.1.97
77+
monotonic==1.6
78+
multidict==6.1.0
79+
mypy_extensions==1.1.0
80+
narwhals==1.21.1
81+
nest-asyncio==1.6.0
82+
numpy>=1.22.4,<2.0
83+
oauthlib==3.2.2
84+
openai==1.78.0
85+
opentelemetry-api==1.31.1
86+
opentelemetry-exporter-otlp==1.31.1
87+
opentelemetry-exporter-otlp-proto-common==1.31.1
88+
opentelemetry-exporter-otlp-proto-grpc==1.31.1
89+
opentelemetry-exporter-otlp-proto-http==1.31.1
90+
opentelemetry-instrumentation==0.52b1
91+
opentelemetry-instrumentation-alephalpha==0.40.3
92+
opentelemetry-instrumentation-anthropic==0.40.3
93+
opentelemetry-instrumentation-bedrock==0.40.3
94+
opentelemetry-instrumentation-chromadb==0.40.3
95+
opentelemetry-instrumentation-cohere==0.40.3
96+
opentelemetry-instrumentation-crewai==0.40.3
97+
opentelemetry-instrumentation-google-generativeai==0.40.3
98+
opentelemetry-instrumentation-groq==0.40.3
99+
opentelemetry-instrumentation-haystack==0.40.3
100+
opentelemetry-instrumentation-lancedb==0.40.3
101+
opentelemetry-instrumentation-langchain==0.40.3
102+
opentelemetry-instrumentation-llamaindex==0.40.3
103+
opentelemetry-instrumentation-logging==0.52b1
104+
opentelemetry-instrumentation-marqo==0.40.3
105+
opentelemetry-instrumentation-mcp==0.40.3
106+
opentelemetry-instrumentation-milvus==0.40.3
107+
opentelemetry-instrumentation-mistralai==0.40.3
108+
opentelemetry-instrumentation-ollama==0.40.3
109+
opentelemetry-instrumentation-openai==0.40.3
110+
opentelemetry-instrumentation-pinecone==0.40.3
111+
opentelemetry-instrumentation-qdrant==0.40.3
112+
opentelemetry-instrumentation-replicate==0.40.3
113+
opentelemetry-instrumentation-requests==0.52b1
114+
opentelemetry-instrumentation-sagemaker==0.40.3
115+
opentelemetry-instrumentation-sqlalchemy==0.52b1
116+
opentelemetry-instrumentation-threading==0.52b1
117+
opentelemetry-instrumentation-together==0.40.3
118+
opentelemetry-instrumentation-transformers==0.40.3
119+
opentelemetry-instrumentation-urllib3==0.52b1
120+
opentelemetry-instrumentation-vertexai==0.40.3
121+
opentelemetry-instrumentation-watsonx==0.40.3
122+
opentelemetry-instrumentation-weaviate==0.40.3
123+
opentelemetry-proto==1.31.1
124+
opentelemetry-sdk==1.31.1
125+
opentelemetry-semantic-conventions==0.52b1
126+
opentelemetry-semantic-conventions-ai==0.4.5
127+
opentelemetry-util-http==0.52b1
128+
orjson==3.10.14
129+
packaging==24.2
130+
pandas==2.2.3
131+
pillow==11.1.0
132+
portalocker==2.10.1
133+
posthog==3.25.0
134+
propcache==0.2.1
135+
proto-plus==1.25.0
136+
protobuf==5.29.3
137+
pyarrow==18.1.0
138+
pyasn1==0.6.1
139+
pyasn1_modules==0.4.1
140+
pydantic==2.10.5
141+
pydantic-settings==2.9.1
142+
pydantic_core==2.27.2
143+
pydeck==0.9.1
144+
Pygments==2.19.1
145+
PyJWT==2.10.1
146+
pyparsing==3.2.1
147+
python-dateutil==2.9.0.post0
148+
python-dotenv==1.1.0
149+
python-engineio==4.12.0
150+
python-multipart==0.0.18
151+
python-socketio==5.13.0
152+
pytz==2024.2
153+
PyYAML==6.0.2
154+
qdrant-client==1.14.2
155+
referencing==0.35.1
156+
regex==2024.11.6
157+
requests==2.32.3
158+
requests-oauthlib==2.0.0
159+
requests-toolbelt==1.0.0
160+
rich==13.9.4
161+
rpds-py==0.22.3
162+
rsa==4.9
163+
setuptools==80.4.0
164+
simple-websocket==1.1.0
165+
six==1.17.0
166+
smmap==5.0.2
167+
sniffio==1.3.1
168+
SQLAlchemy==2.0.37
169+
sse-starlette==2.3.4
170+
starlette==0.41.3
171+
streamlit==1.41.1
172+
syncer==2.0.3
173+
tenacity==9.0.0
174+
tiktoken==0.9.0
175+
tokenizers==0.21.1
176+
toml==0.10.2
177+
tomli==2.2.1
178+
tornado==6.4.2
179+
tqdm==4.67.1
180+
traceloop-sdk==0.40.3
181+
typing-inspect==0.9.0
182+
typing-inspection==0.4.0
183+
typing_extensions==4.12.2
184+
tzdata==2024.2
185+
uptrace==1.31.0
186+
uritemplate==4.1.1
187+
urllib3==2.3.0
188+
uvicorn==0.34.2
189+
watchdog==6.0.0
190+
watchfiles==0.20.0
191+
wrapt==1.17.2
192+
wsproto==1.2.0
193+
yarl==1.18.3
194+
zipp==3.21.0
195+
pymongo==4.7.2

0 commit comments

Comments
 (0)