# mes_core Система управления производством (ShiftFlow MES) ## 📥 Как пушить код (Шпаргалка) Если внес изменения в проект и готов отправить их на сервер `ProdServ`: 1. **Подготовь файлы**: `git add .` 2. **Запечатай изменения**: `git commit -m "Подправил докерфайл сборки контейнера"` 3. **Отправляй в полет**: `git push origin main` ### 💊 Таблетка: Если не пушится (сброс авторизации) Если Git "забыл" пароль или выдает ошибку Permission Denied: ```bash # Очищаем старые привязки git config --global --unset credential.helper # Устанавливаем менеджер заново (для Windows) git config --global credential.helper manager # Снова пушим и вводим логин/пароль в окне git push origin main # 🚀 ShiftFlow MES - Инструкция по деплою (Production) ### 🧩 Общая архитектура Система работает в связке из 3-х контейнеров: 1. **db**: PostgreSQL 15 (хранит все данные). 2. **web**: Django + Gunicorn (логика приложения). 3. **nginx**: Веб-сервер (раздает статику и проксирует запросы на Django). --- ### 🛠 Как это работает (Автоматизация) Мы используем **CI/CD через Gitea Actions**. Тебе не нужно заходить на сервер руками. 1. **Push в main**: Как только ты пушишь код, раннер на `ProdServ` просыпается. 2. **Сборка**: Docker пересобирает образ `web`, если изменились `requirements.txt` или код. 3. **Запуск**: - `entrypoint.sh` автоматически накатывает миграции (`migrate`). - `collectstatic` собирает все стили в общую папку для Nginx. - Создается суперпользователь (если его еще нет) из данных `.env`. --- ### 📁 Важные папки на сервере `ProdServ` Проект живет здесь: `/home/ack/projects/mes_core/` * **staticfiles/** — здесь лежат стили и скрипты. Если админка стала "белой", проверь права этой папки (`chmod 755`). * **media/** — здесь будут лежать загруженные фото и файлы. * **.env** — здесь лежат все пароли. **Никогда не удаляй его!** --- ### 🆘 Что делать, если "все упало"? Если сайт по адресу `192.168.1.108` не открывается: 1. Проверь логи контейнеров: `docker compose logs -f`. 2. Убедись, что порты в `docker-compose.yml` стоят `80:80`. 3. Перезапусти всё одной командой: `docker compose up -d --build`.