v4.1.21: Реструктуризация проекта для Synology ARM
- Реструктуризация: src/ разбит на middleware/, utils/, repositories/ (удалены), routes/ (удалены) - Добавлен src/original-html.ts — полный HTML с reportModal - Добавлен src/index.tsx.backup — React-компонент с reportModal - Миграции переименованы (0001_initial_schema.sql) - Добавлена миграция 0018 (удалена позже) - Docker: multi-stage build, wrangler.toml - Frontend: public/static/app.js + style.css - seed.sql добавлен - Документация: CHANGELOG, CHANGES_v4.1.0-4.1.9, PROJECT_STRUCTURE
This commit is contained in:
102
DEPLOYMENT_INSTRUCTIONS.md
Normal file
102
DEPLOYMENT_INSTRUCTIONS.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# 🚀 Quick Deployment Instructions - AKNAPROFF v4.1.7
|
||||
|
||||
**Версия:** v4.1.7
|
||||
**Дата:** 2025-12-30
|
||||
**Статус:** ✅ Ready to Deploy
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Быстрый Старт (3 минуты)
|
||||
|
||||
### Шаг 1: SQL Команды (ОБЯЗАТЕЛЬНО)
|
||||
```bash
|
||||
# На production сервере выполнить:
|
||||
|
||||
# 1. Добавить deleted_at колонку
|
||||
docker-compose exec aknaproff-backend sh -c \
|
||||
"npx wrangler d1 execute webapp-production --local --command='ALTER TABLE users ADD COLUMN deleted_at DATETIME DEFAULT NULL'"
|
||||
|
||||
# 2. Удалить дубликат пользователя
|
||||
docker-compose exec aknaproff-backend sh -c \
|
||||
"npx wrangler d1 execute webapp-production --local --command='DELETE FROM users WHERE username = \"tootmine\"'"
|
||||
|
||||
# 3. Обновить пароли (SHA-256)
|
||||
docker-compose exec aknaproff-backend sh -c \
|
||||
"npx wrangler d1 execute webapp-production --local --command='
|
||||
UPDATE users SET password_hash = \"d3ad9315b7be5dd53b31a273b3b3aba5defe700808305aa16a3062b76658a791\" WHERE username IN (\"admin\", \"aknaproff\");
|
||||
UPDATE users SET password_hash = \"a1026b7bd143f7190248bc79901e9a357a408e208f2d8e4d38fccf184754f35f\" WHERE username = \"kasutaja\"
|
||||
'"
|
||||
```
|
||||
|
||||
### Шаг 2: Перезапуск
|
||||
```bash
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
### Шаг 3: Проверка
|
||||
```bash
|
||||
# Test admin login
|
||||
curl -X POST http://localhost:8180/api/auth/login \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"username":"admin","password":"demo123"}'
|
||||
|
||||
# Должно вернуть: {"success":true, "token":"...", ...}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📋 Новые Учётные Данные
|
||||
|
||||
| Username | Password | Role | Доступ |
|
||||
|----------|----------|------|--------|
|
||||
| admin | demo123 | admin | Полный |
|
||||
| aknaproff | demo123 | admin | Полный |
|
||||
| kasutaja | tootmine | user | Просмотр + проблемы |
|
||||
|
||||
**Удалено:** ~~tootmine~~ (дубликат)
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Проверка После Deployment
|
||||
|
||||
### Backend
|
||||
```bash
|
||||
✅ curl http://localhost:8180
|
||||
✅ curl http://localhost:8180/api/years
|
||||
✅ curl http://localhost:8180/api/records?month=1&year=2025
|
||||
```
|
||||
|
||||
### Frontend
|
||||
1. ✅ Открыть `http://localhost:8180`
|
||||
2. ✅ **Ctrl+Shift+R** (hard refresh)
|
||||
3. ✅ Войти как **admin / demo123**
|
||||
4. ✅ Проверить таблицу с данными
|
||||
5. ✅ Нажать **Vaata ainult** (👁) - guest режим
|
||||
6. ✅ F12 → Console: нет ошибок
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Важно
|
||||
|
||||
### Что изменилось
|
||||
- ✅ Пароли теперь SHA-256 (было bcrypt)
|
||||
- ✅ Удалён пользователь `tootmine`
|
||||
- ✅ Добавлена колонка `deleted_at` в `users`
|
||||
|
||||
### Если что-то не работает
|
||||
1. Проверить выполнение SQL команд
|
||||
2. Проверить логи: `docker-compose logs -f aknaproff-backend`
|
||||
3. Перезапустить: `docker-compose restart`
|
||||
4. Проверить БД: `npx wrangler d1 execute webapp-production --local --command='SELECT * FROM users'`
|
||||
|
||||
---
|
||||
|
||||
## 📄 Полная Документация
|
||||
|
||||
- **FINAL_REPORT_v4.1.7.md** - подробный отчёт
|
||||
- **DB_FIX_v4.1.7.md** - детали исправления БД
|
||||
- **FILES_TO_COPY.txt** - опциональное обновление кода (v4.1.6 UI)
|
||||
|
||||
---
|
||||
|
||||
🎉 **Готово! После выполнения SQL команд и перезапуска всё будет работать!**
|
||||
Reference in New Issue
Block a user