feat(sidebar): узкое меню, субменю историй с hover, эффект text-fade
- Сужено боковое меню (56px), убрана иконка Home - Субменю историй при наведении: полная высота, на всю ширину, z-9999 - Класс text-fade для плавного обрезания длинного текста - Убраны скругления в субменю - Chatwoot, изменения в posts-mcs и прочие обновления Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
31
apps/chatwoot/.env.example
Normal file
31
apps/chatwoot/.env.example
Normal file
@@ -0,0 +1,31 @@
|
||||
# Chatwoot — минимальная конфигурация
|
||||
# Скопируйте в .env и заполните обязательные поля
|
||||
|
||||
# === Обязательно ===
|
||||
# Сгенерировать: openssl rand -hex 64
|
||||
SECRET_KEY_BASE=
|
||||
|
||||
# Пароль PostgreSQL (обязательно)
|
||||
POSTGRES_PASSWORD=
|
||||
|
||||
# URL фронтенда (где открывать Chatwoot)
|
||||
FRONTEND_URL=http://localhost:3001
|
||||
|
||||
# === PostgreSQL ===
|
||||
POSTGRES_HOST=postgres
|
||||
POSTGRES_USERNAME=postgres
|
||||
RAILS_ENV=production
|
||||
|
||||
# === Redis ===
|
||||
REDIS_URL=redis://redis:6379
|
||||
# Для production задайте REDIS_PASSWORD и REDIS_URL=redis://:пароль@redis:6379
|
||||
REDIS_PASSWORD=
|
||||
|
||||
# === Опционально ===
|
||||
# Регистрация новых аккаунтов (true/false)
|
||||
ENABLE_ACCOUNT_SIGNUP=true
|
||||
|
||||
# SMTP — для локальной разработки используйте MailHog (docker compose включает его)
|
||||
# SMTP_ADDRESS=mailhog
|
||||
# SMTP_PORT=1025
|
||||
# MAILER_SENDER_EMAIL=chatwoot@localhost
|
||||
50
apps/chatwoot/README.md
Normal file
50
apps/chatwoot/README.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Chatwoot — self-hosted live chat
|
||||
|
||||
Live chat для клиентской поддержки. Данные на вашем сервере.
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
### 1. Подготовка
|
||||
|
||||
```bash
|
||||
cd chatwoot
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
### 2. Заполнить .env
|
||||
|
||||
Обязательно задать:
|
||||
|
||||
- **SECRET_KEY_BASE** — сгенерировать: `openssl rand -hex 64`
|
||||
- **POSTGRES_PASSWORD** — пароль для PostgreSQL
|
||||
|
||||
### 3. Запуск
|
||||
|
||||
```bash
|
||||
# Инициализация БД (выполнить один раз)
|
||||
docker compose run --rm rails bundle exec rails db:chatwoot_prepare
|
||||
|
||||
# Запуск
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### 4. Доступ
|
||||
|
||||
- **Интерфейс:** http://localhost:3001
|
||||
- Создайте аккаунт при первом входе (если `ENABLE_ACCOUNT_SIGNUP=true`)
|
||||
|
||||
## Встраивание виджета
|
||||
|
||||
После создания инбокса в панели Chatwoot скопируйте код виджета и вставьте на сайт перед `</body>`.
|
||||
|
||||
## Полезные команды
|
||||
|
||||
```bash
|
||||
# Остановить
|
||||
docker compose down
|
||||
|
||||
# Обновить до новой версии
|
||||
docker compose pull
|
||||
docker compose run --rm rails bundle exec rails db:chatwoot_prepare
|
||||
docker compose up -d
|
||||
```
|
||||
78
apps/chatwoot/docker-compose.yaml
Normal file
78
apps/chatwoot/docker-compose.yaml
Normal file
@@ -0,0 +1,78 @@
|
||||
# Chatwoot — self-hosted live chat
|
||||
# Документация: https://developers.chatwoot.com/self-hosted
|
||||
|
||||
x-app: &app
|
||||
image: chatwoot/chatwoot:latest
|
||||
env_file: .env
|
||||
volumes:
|
||||
- storage_data:/app/storage
|
||||
|
||||
services:
|
||||
rails:
|
||||
<<: *app
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
- mailhog
|
||||
ports:
|
||||
- "127.0.0.1:3001:3000"
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- RAILS_ENV=production
|
||||
- INSTALLATION_ENV=docker
|
||||
entrypoint: docker/entrypoints/rails.sh
|
||||
command: ["bundle", "exec", "rails", "s", "-p", "3000", "-b", "0.0.0.0"]
|
||||
restart: unless-stopped
|
||||
|
||||
sidekiq:
|
||||
<<: *app
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
- mailhog
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- RAILS_ENV=production
|
||||
- INSTALLATION_ENV=docker
|
||||
command: ["bundle", "exec", "sidekiq", "-C", "config/sidekiq.yml"]
|
||||
restart: unless-stopped
|
||||
|
||||
postgres:
|
||||
image: pgvector/pgvector:pg16
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_DB=chatwoot
|
||||
- POSTGRES_USER=postgres
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD required}
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
mailhog:
|
||||
image: mailhog/mailhog:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "1025:1025"
|
||||
- "8025:8025"
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: unless-stopped
|
||||
command: ["sh", "-c", "redis-server $${REDIS_PASSWORD:+--requirepass \"$$REDIS_PASSWORD\"}"]
|
||||
env_file: .env
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
|
||||
volumes:
|
||||
storage_data:
|
||||
postgres_data:
|
||||
redis_data:
|
||||
Reference in New Issue
Block a user