- Bump minimum Python version from 3.11 to 3.13 across all apps - Add Python 3.11-3.13 test matrix to CLI workflow - Document Python 3.11+ requirement in .env.example - Fix Starlette Broadcast removal with in-process fallback implementation - Add _InProcessBroadcast class for tests when Starlette Broadcast is unavailable - Refactor API key validators to read live settings instead of cached values - Update database models with explicit
38 lines
985 B
Desktop File
38 lines
985 B
Desktop File
[Unit]
|
|
Description=AITBC GPU Multi-Modal Processing Service
|
|
After=network.target aitbc-coordinator-api.service
|
|
Wants=aitbc-coordinator-api.service
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=debian
|
|
Group=debian
|
|
WorkingDirectory=/home/oib/aitbc/apps/coordinator-api
|
|
Environment=PATH=/home/oib/aitbc/apps/coordinator-api/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
Environment=CUDA_VISIBLE_DEVICES=0
|
|
ExecStart=/home/oib/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn src.app.services.gpu_multimodal_app:app --host 127.0.0.1 --port 8003
|
|
ExecReload=/bin/kill -HUP $MAINPID
|
|
KillMode=mixed
|
|
TimeoutStopSec=5
|
|
PrivateTmp=true
|
|
Restart=on-failure
|
|
RestartSec=10
|
|
|
|
# Logging
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
SyslogIdentifier=aitbc-gpu-multimodal
|
|
|
|
# Security
|
|
NoNewPrivileges=true
|
|
ProtectSystem=strict
|
|
ProtectHome=true
|
|
ReadWritePaths=/home/oib/aitbc/apps/coordinator-api
|
|
|
|
# GPU Access
|
|
DeviceAllow=/dev/nvidia0 rwm
|
|
DevicePolicy=auto
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|