Files
janssen/EmailsImport/DockerCustomApp/app.md
T

1.9 KiB

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

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)

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)