feat: dockerize

Signed-off-by: Sphericalkat <me@kat.bio>
This commit is contained in:
Amogh Lele 2024-05-25 13:40:59 +05:30
parent d8ca41ed3f
commit 5059229699
Signed by: sphericalkat
GPG Key ID: 1C022B9CED2425B4
4 changed files with 41 additions and 0 deletions

4
.dockerignore Normal file
View File

@ -0,0 +1,4 @@
.env
.venv
*.pyc
Dockerfile

36
Dockerfile Normal file
View File

@ -0,0 +1,36 @@
# Python 3.11
FROM python@sha256:091e0f5da680e5c972c59cb7eca172141bb6350045b592c284e2fd3bf2916dd9 as build
# Install OS dependencies
RUN apt-get update && apt-get install -y build-essential curl
# Set venv
ENV VIRTUAL_ENV=/opt/venv \
PATH="/opt/venv/bin:$PATH"
# Install uv
ADD https://astral.sh/uv/install.sh /install.sh
RUN chmod -R 655 /install.sh && /install.sh && rm /install.sh
# Create a virtual environment and install dependencies
COPY ./requirements.txt .
RUN /root/.cargo/bin/uv venv /opt/venv && \
/root/.cargo/bin/uv pip install --no-cache -r requirements.txt
# Python 3.11-slim-bookworm app image
FROM python@sha256:fc39d2e68b554c3f0a5cb8a776280c0b3d73b4c04b83dbade835e2a171ca27ef
# Copy the virtual environment from the previous image
COPY --from=build /opt/venv /opt/venv
# Activate the virtual environment
ENV PATH="/opt/venv/bin:$PATH"
# Set the working directory
WORKDIR /app
# Copy the code
COPY . .
# Run the application
CMD ["python", "main.py"]

View File

@ -25,6 +25,7 @@ pip==24.0
preshed==3.0.9 preshed==3.0.9
pydantic==2.7.1 pydantic==2.7.1
pydantic-core==2.18.2 pydantic-core==2.18.2
pydantic-settings==2.2.1
python-telegram-bot==21.2 python-telegram-bot==21.2
requests==2.32.2 requests==2.32.2
setuptools==70.0.0 setuptools==70.0.0

View File