diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..f1f9892
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,10 @@
+venv/
+__pycache__/
+*.pyc
+*.pyo
+.git/
+.gitignore
+.claude/
+*.md
+.env
+*.sqlite3
diff --git a/API.md b/API.md
new file mode 100644
index 0000000..52a1c20
--- /dev/null
+++ b/API.md
@@ -0,0 +1,171 @@
+# API документация eng_bot_metrics
+
+## Базовый URL
+
+```
+http://localhost:8000
+```
+
+---
+
+## Эндпоинты
+
+### 1. Дашборд статистики
+
+```
+GET /
+```
+
+**Описание:** Главная страница с визуальной статистикой кликов.
+
+**Отображает:**
+- Общее количество переходов в бота и канал
+- Статистика за сегодня
+- Статистика за последнюю неделю
+- График переходов за последние 30 дней
+- Последние 20 событий
+
+**Ответ:** HTML страница
+
+---
+
+### 2. Трекинг перехода в бота
+
+```
+POST /api/track/bot/
+```
+
+**Описание:** Записывает событие перехода пользователя в Telegram бота.
+
+**Метод:** `POST`
+
+**Заголовки:**
+```
+Content-Type: application/json
+```
+
+**Тело запроса:** Не требуется (можно отправить пустой POST)
+
+**Автоматически сохраняет:**
+- IP адрес пользователя
+- User-Agent браузера
+- Referrer (откуда пришёл пользователь)
+- Временная метка
+
+**Успешный ответ:**
+```json
+{
+ "status": "ok",
+ "event": "bot"
+}
+```
+
+**Пример использования (JavaScript):**
+```javascript
+fetch('/api/track/bot/', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+});
+```
+
+**Пример использования (curl):**
+```bash
+curl -X POST http://localhost:8000/api/track/bot/
+```
+
+---
+
+### 3. Трекинг перехода в канал
+
+```
+POST /api/track/channel/
+```
+
+**Описание:** Записывает событие перехода пользователя в Telegram канал.
+
+**Метод:** `POST`
+
+**Заголовки:**
+```
+Content-Type: application/json
+```
+
+**Тело запроса:** Не требуется (можно отправить пустой POST)
+
+**Автоматически сохраняет:**
+- IP адрес пользователя
+- User-Agent браузера
+- Referrer (откуда пришёл пользователь)
+- Временная метка
+
+**Успешный ответ:**
+```json
+{
+ "status": "ok",
+ "event": "channel"
+}
+```
+
+**Пример использования (JavaScript):**
+```javascript
+fetch('/api/track/channel/', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+});
+```
+
+**Пример использования (curl):**
+```bash
+curl -X POST http://localhost:8000/api/track/channel/
+```
+
+---
+
+### 4. Админ-панель Django
+
+```
+GET /admin/
+```
+
+**Описание:** Стандартная админ-панель Django для управления данными.
+
+**Требует:** Авторизация суперпользователя
+
+**Создание суперпользователя:**
+```bash
+./deploy.sh createsuperuser
+```
+
+---
+
+## Пример интеграции на лендинге
+
+```html
+Перейти в бота
+Перейти в канал
+
+
+```
+
+---
+
+## Сводная таблица
+
+| URL | Метод | Описание |
+|-----|-------|----------|
+| `/` | GET | Дашборд со статистикой |
+| `/api/track/bot/` | POST | Трекинг клика по боту |
+| `/api/track/channel/` | POST | Трекинг клика по каналу |
+| `/admin/` | GET | Админ-панель Django |
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..77efc84
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,20 @@
+FROM python:3.12-slim
+
+ENV PYTHONDONTWRITEBYTECODE=1
+ENV PYTHONUNBUFFERED=1
+
+WORKDIR /app
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ && rm -rf /var/lib/apt/lists/*
+
+COPY requirements.txt .
+RUN pip install --no-cache-dir -r requirements.txt
+
+COPY . .
+
+RUN python manage.py collectstatic --noinput 2>/dev/null || true
+
+EXPOSE 8000
+
+CMD ["gunicorn", "--bind", "0.0.0.0:8000", "eng_bot_metrics.wsgi:application"]
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..e4dec2d
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,4 @@
+Django==6.0
+asgiref==3.11.0
+sqlparse==0.5.4
+gunicorn==23.0.0