Document upload platform deployment
This commit is contained in:
@@ -1,5 +1,34 @@
|
|||||||
# Upload Platform
|
# Upload Platform
|
||||||
|
|
||||||
|
## Где это работает
|
||||||
|
|
||||||
|
Это отдельный репозиторий, не основной DrHider:
|
||||||
|
|
||||||
|
- репозиторий: `https://gitea.services.ngcloud.ru/forcloud/upload-platform`
|
||||||
|
- VM: `naeel@5.172.178.213` (VM213)
|
||||||
|
- systemd-сервис: `vmfiles.service`
|
||||||
|
- локальный backend: `127.0.0.1:8769`
|
||||||
|
- внешний маршрут сервиса: `https://<hostname-VM213>/api/v1/`
|
||||||
|
|
||||||
|
Push в `Nail/drhider` или `forcloud/obfuscator` не обновляет этот сервис.
|
||||||
|
Его код, деплой и перезапуск нужно рассматривать отдельно.
|
||||||
|
|
||||||
|
## Важно: это не текущий путь загрузки DrHider
|
||||||
|
|
||||||
|
Основной DrHider сейчас использует отдельный WebDAV-буфер Nginx:
|
||||||
|
|
||||||
|
```text
|
||||||
|
https://upload.sinefo.ru/drhider-upload/
|
||||||
|
```
|
||||||
|
|
||||||
|
Он также находится на VM213, но обслуживается Nginx, а не `vmfiles.service`.
|
||||||
|
Поток DrHider: браузер делает `PUT` в WebDAV, Flask получает ссылки через
|
||||||
|
`POST /api/upload_refs`, забирает файлы по `GET` и удаляет их через `DELETE`.
|
||||||
|
|
||||||
|
Старый адрес `contracts.kube5s.ru` считать устаревшим. В новых интеграциях
|
||||||
|
использовать `upload.sinefo.ru` для WebDAV или отдельно согласованный hostname
|
||||||
|
для `/api/v1/` `vmfiles`.
|
||||||
|
|
||||||
Модульная платформа загрузки и транзита документов (версия `0.2.0`). Состоит из двух независимых автономных слоёв с чистыми API:
|
Модульная платформа загрузки и транзита документов (версия `0.2.0`). Состоит из двух независимых автономных слоёв с чистыми API:
|
||||||
|
|
||||||
1. **Слой 1 (File Picker)**: Клиентский выбор файлов, папок и вложенных ZIP-архивов с дедупликацией, фильтрацией по расширениям, проверкой лимитов и визуализацией в виде дерева.
|
1. **Слой 1 (File Picker)**: Клиентский выбор файлов, папок и вложенных ZIP-архивов с дедупликацией, фильтрацией по расширениям, проверкой лимитов и визуализацией в виде дерева.
|
||||||
@@ -151,7 +180,7 @@ from upload.backend.session import get_files
|
|||||||
|
|
||||||
upload_bp = create_upload_refs_blueprint({
|
upload_bp = create_upload_refs_blueprint({
|
||||||
"apiPrefix": "/api",
|
"apiPrefix": "/api",
|
||||||
"vmUploadPrefix": "https://contracts.kube5s.ru/drhider-upload/", # Префикс вашего буфера
|
"vmUploadPrefix": "https://upload.sinefo.ru/drhider-upload/", # Префикс вашего буфера
|
||||||
"maxFileBytes": 50 * 1024 * 1024,
|
"maxFileBytes": 50 * 1024 * 1024,
|
||||||
"maxSessionBytes": 500 * 1024 * 1024,
|
"maxSessionBytes": 500 * 1024 * 1024,
|
||||||
})
|
})
|
||||||
@@ -174,7 +203,7 @@ app.register_blueprint(upload_bp)
|
|||||||
document.getElementById('upload-btn').addEventListener('click', async () => {
|
document.getElementById('upload-btn').addEventListener('click', async () => {
|
||||||
const files = picker.getFiles();
|
const files = picker.getFiles();
|
||||||
const result = await FilePicker.uploadViaVM(files, {
|
const result = await FilePicker.uploadViaVM(files, {
|
||||||
vmUploadUrl: 'https://contracts.kube5s.ru/drhider-upload/',
|
vmUploadUrl: 'https://upload.sinefo.ru/drhider-upload/',
|
||||||
backendUploadUrl: '/api/upload_refs',
|
backendUploadUrl: '/api/upload_refs',
|
||||||
onFileStatus: (idx, status) => console.log(`File ${idx}: ${status}`),
|
onFileStatus: (idx, status) => console.log(`File ${idx}: ${status}`),
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user