Compare commits
1 Commits
features/f
...
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