64 lines
1.9 KiB
Markdown
64 lines
1.9 KiB
Markdown
# msgreceiver — deployment instrukce
|
|
|
|
## Soubory
|
|
- Zdrojový skript: `U:\PythonProject\Janssen\EmailsImport\DockerCustomApp\app.py`
|
|
- Network share: `\\tower\appdata\msgreceiver\app.py`
|
|
- Unraid cesta: `/mnt/user/appdata/msgreceiver/`
|
|
|
|
## Přihlašovací údaje
|
|
- **Unraid SSH:** `root@192.168.1.76`, heslo: `7309208104`
|
|
- **Docker kontejner:** `msgreceiver`
|
|
|
|
## Postup při nové verzi app.py
|
|
|
|
### 1. Zkopírovat app.py na server
|
|
```powershell
|
|
Copy-Item "U:\PythonProject\Janssen\EmailsImport\DockerCustomApp\app.py" "\\tower\appdata\msgreceiver\app.py" -Force
|
|
```
|
|
|
|
### 2. Připojit se přes SSH a přebuildovat Docker (přes Python paramiko)
|
|
```python
|
|
import paramiko
|
|
c = paramiko.SSHClient()
|
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
c.connect('192.168.1.76', username='root', password='7309208104')
|
|
|
|
# Build
|
|
_, stdout, stderr = c.exec_command('docker build -t msgreceiver /mnt/user/appdata/msgreceiver/ 2>&1')
|
|
print(stdout.read().decode())
|
|
|
|
# Restart
|
|
_, stdout, stderr = c.exec_command('docker restart msgreceiver')
|
|
print(stdout.read().decode())
|
|
|
|
c.close()
|
|
```
|
|
|
|
> Poznámka: `sshpass` není na tomto Windows stroji k dispozici, Windows OpenSSH neumí neinteraktivní heslo — proto vždy použij **paramiko**.
|
|
|
|
## Struktura adresáře na serveru
|
|
```
|
|
/mnt/user/appdata/msgreceiver/
|
|
├── Dockerfile
|
|
├── app.py
|
|
├── requirements.txt
|
|
└── .env ← Dropbox credentials
|
|
```
|
|
|
|
## Dropbox konfigurace (.env)
|
|
Proměnné načítané z `.env`:
|
|
- `DROPBOX_APP_KEY`
|
|
- `DROPBOX_APP_SECRET`
|
|
- `DROPBOX_APP_REFRESH_TOKEN`
|
|
|
|
Upload cesta v Dropboxu: `/!!!Days/Downloads Z230/{filename}`
|
|
|
|
## API endpointy
|
|
Bearer token: `13e1bb01-9fd5-44a8-8ce9-4ee27133d340`
|
|
|
|
| Endpoint | Přijímá | Chování |
|
|
|---|---|---|
|
|
| `POST /upload` | `.msg` | Uloží do `/msgs`, přeskočí pokud existuje |
|
|
| `POST /upload-db` | `.db` | Smaže všechny staré `.db` v `/msgs/db`, uloží novou |
|
|
| `POST /upload-dropbox` | cokoliv | Nahraje do Dropboxu (overwrite) |
|