2 Commits

Author SHA1 Message Date
81bcb0c3b8 no message 2025-10-29 23:02:21 +03:00
d93964b793 Docker configs was added 2025-10-29 23:01:26 +03:00
3 changed files with 96 additions and 14 deletions

66
docker-compose.yml Normal file
View File

@@ -0,0 +1,66 @@
version: '3.8'
services:
mail_order_bot:
build:
context: .
dockerfile: Dockerfile
args:
GIT_REPO_URL: https://git.lesha.spb.ru/alex/mail_order_bot
GIT_BRANCH: master
container_name: mail_order_bot
restart: unless-stopped
# Монтирование .env файла для секретов
env_file:
- .env
# Дополнительные переменные окружения
environment:
- PYTHONUNBUFFERED=1
# Монтирование volumes (если нужно)
volumes:
- .//app/data # для хранения данных
- ./logs:/app/logs # для логов
# Если приложение использует сеть
# ports:
# - "8000:8000"
# Если нужны другие сервисы (БД, Redis и т.д.)
# depends_on:
# - postgres
# - redis
# Настройки логирования
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
# Раскомментируйте, если нужны дополнительные сервисы
#
# postgres:
# image: postgres:15-alpine
# container_name: mail_order_bot_db
# restart: unless-stopped
# environment:
# POSTGRES_DB: mail_order_bot
# POSTGRES_USER: ${POSTGRES_USER}
# POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
# volumes:
# - postgres_/var/lib/postgresql/data
# ports:
# - "5432:5432"
#
# redis:
# image: redis:7-alpine
# container_name: mail_order_bot_redis
# restart: unless-stopped
# ports:
# - "6379:6379"
# volumes:
# postgres_

30
dockerfile Normal file
View File

@@ -0,0 +1,30 @@
# Используем официальный образ Python
FROM python:3.11-slim
# Устанавливаем git для клонирования репозитория
RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
# Создаем рабочую директорию
WORKDIR /app
# Клонируем репозиторий
ARG GIT_REPO_URL=https://git.lesha.spb.ru/alex/mail_order_bot
ARG GIT_BRANCH=master
RUN git clone --branch ${GIT_BRANCH} ${GIT_REPO_URL} .
# Устанавливаем зависимости из requirements.txt (если есть)
RUN if [ -f requirements.txt ]; then pip install --no-cache-dir -r requirements.txt; fi
# Устанавливаем пакет и его зависимости из pyproject.toml
RUN pip install --no-cache-dir -e .
# Альтернативный вариант для production (без editable mode):
# RUN pip install --no-cache-dir .
# Устанавливаем переменные окружения для Python
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
# Команда запуска приложения (замените на вашу)
# CMD ["python", "-m", "mail_order_bot"]
CMD ["python", "src/mail_order_bot/main.py"]

View File

@@ -1,14 +0,0 @@
[build-system]
requires = ["setuptools>=75.3.0"]
build-backend = "setuptools.build_meta"
[project]
name = "MailOrderBot"
requires-python = ">=3.12"
dependencies = [
"python-dotenv>=1.0.0"
]
dynamic = ["version"]
[tool.setuptools.packages.find]
where = ["src"]