Files
watersurf-erp/README.md

4.1 KiB
Raw Blame History

ERP WaterSurf

Веб-приложение класса ERP для компании WaterSurf: справочники, документы (заказы клиентов и поставщикам, поступления/перемещения/расход денежных средств), авторизация пользователей.

Требования

  • Docker и Docker Compose
  • Доступ к порту 8010 на localhost (для reverse proxy)

Установка и настройка

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]