Compare commits
44
Commits
b374f7cd4f
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
136116a83f | ||
|
|
f5594e0651 | ||
|
|
04ed5e5795 | ||
|
|
e1f23e0299 | ||
|
|
3ee3982b63 | ||
|
|
6cd0cbfa25 | ||
|
|
79c8e15c65 | ||
|
|
13f76fe955 | ||
|
|
3f4eb232b0 | ||
|
|
347c544db7 | ||
|
|
6a42baa120 | ||
|
|
590d80a018 | ||
|
|
60955c12ec | ||
|
|
7ab8740ca5 | ||
|
|
921c45176f | ||
|
|
4375efc5d2 | ||
|
|
e169f415e5 | ||
|
|
a834f636b4 | ||
|
|
6591191fe5 | ||
|
|
9b3d8c1f84 | ||
|
|
c6c08db588 | ||
|
|
1603ed486d | ||
|
|
2668518e6c | ||
|
|
3d0b318bba | ||
|
|
47f2335661 | ||
|
|
00cf3fbcd7 | ||
|
|
b0701e131e | ||
|
|
d083726011 | ||
|
|
3e6dcf3382 | ||
|
|
00f61efbac | ||
|
|
0ee222dc5a | ||
|
|
ee4b8aa210 | ||
|
|
bc30c55172 | ||
|
|
2409e403b6 | ||
|
|
e78e0eeda2 | ||
|
|
aa9585f91d | ||
|
|
3754900ddd | ||
|
|
dcae0402fc | ||
|
|
539f339a27 | ||
|
|
e55ff43217 | ||
|
|
93c617f316 | ||
|
|
d94fcc0507 | ||
|
|
8b61117744 | ||
|
|
e21b8c12b4 |
+31
@@ -0,0 +1,31 @@
|
||||
# Use the latest Python 3.13 slim image for a lightweight base
|
||||
FROM python:3.13-slim
|
||||
|
||||
# Set environment variables
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
|
||||
# Set work directory
|
||||
WORKDIR /app
|
||||
|
||||
# Install system dependencies if needed (for Dulwich, etc.)
|
||||
RUN apt-get update && apt-get install -y \
|
||||
git \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy requirements file
|
||||
COPY requirements.txt .
|
||||
|
||||
# Install Python dependencies
|
||||
RUN pip install --no-cache-dir --upgrade pip && \
|
||||
pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# Copy project
|
||||
COPY . .
|
||||
|
||||
# Expose port
|
||||
EXPOSE 9001
|
||||
|
||||
# Run the application
|
||||
CMD ["python", "-m", "retoors.main", "--host", "0.0.0.0", "--port", "9001"]
|
||||
@@ -0,0 +1,17 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
app:
|
||||
build: .
|
||||
ports:
|
||||
- "127.0.0.1:9001:9001"
|
||||
volumes:
|
||||
- ./:/app
|
||||
environment:
|
||||
- PYTHONPATH=/app
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
+15
-8
@@ -1,13 +1,20 @@
|
||||
aiohttp
|
||||
jinja2
|
||||
aiohttp_session
|
||||
bcrypt
|
||||
pydantic
|
||||
pytest
|
||||
pytest-asyncio
|
||||
aiofiles
|
||||
pytest-cov
|
||||
rich
|
||||
aiohttp_jinja2
|
||||
pydantic[dotenv]
|
||||
python-dotenv
|
||||
aiosmtplib
|
||||
pydantic[email]
|
||||
aiohttp_session
|
||||
cryptography
|
||||
aiojobs
|
||||
aiofiles
|
||||
pytest
|
||||
pytest-aiohttp
|
||||
aiohttp-test-utils
|
||||
pytest-mock
|
||||
pillow
|
||||
aiohttp_pydantic
|
||||
bcrypt
|
||||
aiosmtplib
|
||||
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
from setuptools import setup, find_packages
|
||||
|
||||
with open('requirements.txt') as f:
|
||||
install_requires = f.read().splitlines()
|
||||
|
||||
setup(
|
||||
name="retoors",
|
||||
version="0.1.0",
|
||||
packages=find_packages(),
|
||||
include_package_data=True,
|
||||
install_requires=[
|
||||
"aiohttp",
|
||||
"jinja2",
|
||||
],
|
||||
install_requires=install_requires,
|
||||
entry_points={
|
||||
"console_scripts": [
|
||||
"retoors=retoors.main:main",
|
||||
],
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user