# 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) |