Compare commits
1 Commits
develop
...
ft-01-dock
| Author | SHA1 | Date | |
|---|---|---|---|
| ac1daf167a |
66
docker-compose.yml
Normal file
66
docker-compose.yml
Normal 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
30
dockerfile
Normal 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"]
|
||||||
Reference in New Issue
Block a user