Files
watersurf-erp/README.md

82 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ERP WaterSurf
Веб-приложение класса ERP для компании WaterSurf: справочники, документы (заказы клиентов и поставщикам, поступления/перемещения/расход денежных средств), авторизация пользователей.
## Требования
- Docker и Docker Compose
- Доступ к порту 8010 на localhost (для reverse proxy)
## Установка и настройка
```bash
cd /opt/watersurf-erp
cp .env.example .env
# Отредактировать .env: пароли, SECRET_KEY, ALLOWED_HOSTS
docker compose up -d db
docker compose run --rm app python manage.py migrate --noinput
docker compose run --rm app python manage.py createsuperuser # первый пользователь
docker compose up -d app
```
## Конфигурация
Переменные в `.env` (см. `.env.example`):
- `POSTGRES_*` — учётные данные PostgreSQL для контейнера db
- `DB_*` — подключение приложения к БД
- `SECRET_KEY` — секрет Django (не менее 50 символов)
- `ALLOWED_HOSTS` — через запятую (например `erp.gen7x.ru,localhost`)
- `DEBUG` — true/false
## Использование
- Веб-интерфейс: после настройки Nginx — https://erp.gen7x.ru/
- Вход по логину/паролю (пользователи Django).
- Меню: Справочники (валюты, виды заказов, клиенты, организации, поставщики, сотрудники, счета, товары), Документы (заказы клиентов, заказы поставщику, поступления, перемещения, расходы).
- Поле «Автор» в документах подставляется из профиля пользователя (связь User → Сотрудник в разделе «Пользователи» / админка).
## Структура проекта
- `app/config/` — настройки Django
- `app/references/` — справочники (модели, админка, CRUD)
- `app/documents/` — документы (модели, формы, представления, автогенерация номера)
- `app/users/` — профиль пользователя (связь с сотрудником)
- `app/templates/` — шаблоны
- `manage.py` — точка входа для команд Django
## Docker Compose
- Сервис `db`: PostgreSQL 16, volume `watersurf_erp_data`
- Сервис `app`: Django + Gunicorn, порт 8010:8000
Запуск: `./manage.sh start` или `docker compose up -d`
Остановка: `./manage.sh stop`
Логи: `./manage.sh logs app`
## Volumes
- `watersurf_erp_data` — данные PostgreSQL. Добавлен в `/opt/gen7x/backup/include-volumes.txt` для бэкапа.
## Логирование
- Логи приложения: stdout контейнера; при наличии каталога `app/logs` — также в `app/logs/app.log`.
- Просмотр: `docker compose logs -f app`
## Резервное копирование и восстановление
- Volume БД включён в список бэкапов платформы Gen7x. Восстановление — по инструкции платформы (restore.sh и т.д.).
## Troubleshooting
- Ошибка подключения к БД: проверить, что контейнер `db` запущен и переменные `DB_*` в `.env` совпадают с `POSTGRES_*`.
- 502 от Nginx: проверить, что приложение слушает на 8010 (`docker compose ps`, `docker compose logs app`).
- После добавления полей в модели: `docker compose run --rm app python manage.py makemigrations && docker compose run --rm app python manage.py migrate`.
## Команды управления
- Запуск: `./manage.sh start`
- Остановка: `./manage.sh stop`
- Перезапуск: `./manage.sh restart`
- Логи: `./manage.sh logs [service]`