Files
aitbc/systemd/aitbc-multimodal-gpu.service
aitbc 5407ba391a
All checks were successful
CLI Tests / test-cli (push) Successful in 59s
Documentation Validation / validate-docs (push) Successful in 12s
Package Tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk]) (push) Successful in 33s
Integration Tests / test-service-integration (push) Successful in 51s
Package Tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core]) (push) Successful in 23s
Package Tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto]) (push) Successful in 19s
Package Tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk]) (push) Successful in 21s
Package Tests / test-javascript-packages (map[name:aitbc-sdk-js path:packages/js/aitbc-sdk]) (push) Successful in 20s
Package Tests / test-javascript-packages (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 1m6s
Python Tests / test-python (push) Successful in 1m11s
Systemd Sync / sync-systemd (push) Successful in 8s
Security Scanning / security-scan (push) Successful in 51s
fix: use standard /var/log/aitbc instead of symlinked /var/lib/aitbc/logs
Standard Logging Directory - Complete:
 LOG DIRECTORY STRUCTURE FIXED: Changed from symlinked /var/lib/aitbc/logs to standard /var/log/aitbc
- setup.sh: Updated to create /var/log/aitbc as actual logs directory
- systemd services: Updated all services to use /var/log/aitbc
- Removed symlink: No longer creating symlink from /var/lib/aitbc/logs to /var/log/aitbc
- Reason: /var/log/aitbc is standard Linux location for logs

 BEFORE vs AFTER:
 Before (Non-standard):
   /var/lib/aitbc/logs/ (created directory)
   /var/log/aitbc -> /var/lib/aitbc/logs/ (symlink)
   systemd ReadWritePaths=/var/lib/aitbc/logs
   Non-standard logging location

 After (Standard Linux):
   /var/log/aitbc/ (actual logs directory)
   No symlink needed
   systemd ReadWritePaths=/var/log/aitbc
   Standard Linux logging location

 SETUP SCRIPT CHANGES:
📁 Directories: Create /var/log/aitbc instead of /var/lib/aitbc/logs
📋 Permissions: Set permissions on /var/log/aitbc
👥 Ownership: Set ownership on /var/log/aitbc
📝 README: Create README in /var/log/aitbc
🔗 Symlink: Removed symlink creation

 SYSTEMD SERVICES UPDATED:
🔧 aitbc-advanced-ai.service: ReadWritePaths=/var/log/aitbc /var/lib/aitbc/data
🔧 aitbc-enterprise-api.service: ReadWritePaths=/var/log/aitbc /var/lib/aitbc/data
🔧 aitbc-multimodal-gpu.service: ReadWritePaths=/var/log/aitbc /var/lib/aitbc/data /dev/nvidia*
🔧 aitbc-web-ui.service: ReadWritePaths=/var/log/aitbc /var/lib/aitbc/data

 STANDARD LINUX COMPLIANCE:
📁 /var/log/aitbc: Standard location for application logs
📁 /var/lib/aitbc/data: Standard location for application data
📁 /var/lib/aitbc/keystore: Standard location for secure storage
📁 /etc/aitbc: Standard location for configuration
🎯 FHS Compliance: Follows Linux Filesystem Hierarchy Standard

 BENEFITS:
 Standard Practice: Uses conventional Linux logging location
 Tool Compatibility: Works with standard log management tools
 System Integration: Integrates with system logging infrastructure
 Monitoring: Compatible with logrotate and monitoring tools
 Documentation: Clear and standard directory structure

 CODEBASE CONSISTENCY:
📋 Documentation: Already references /var/log/aitbc in many places
🔧 Services: All systemd services now use consistent log path
📝 Scripts: Log scripts and tools work with standard location
🎯 Standards: Follows Linux conventions for logging

RESULT: Successfully updated entire codebase to use standard /var/log/aitbc directory for logs, eliminating non-standard symlinked structure and ensuring Linux FHS compliance.
2026-03-30 17:36:39 +02:00

44 lines
1.0 KiB
Desktop File

[Unit]
Description=AITBC Multimodal GPU Service (Port 8011)
Documentation=https://docs.aitbc.bubuit.net
After=network.target aitbc-coordinator-api.service nvidia-persistenced.service
Wants=aitbc-coordinator-api.service
[Service]
Type=simple
User=aitbc
Group=aitbc
WorkingDirectory=/opt/aitbc/apps/coordinator-api
Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src
Environment=PORT=8011
Environment=SERVICE_TYPE=gpu-multimodal
Environment=GPU_ENABLED=true
Environment=CUDA_VISIBLE_DEVICES=0
Environment=LOG_LEVEL=INFO
ExecStart=/usr/bin/python3 -m aitbc_gpu_multimodal.main
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
SyslogIdentifier=aitbc-multimodal-gpu
# Security settings
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/log/aitbc /var/lib/aitbc/data /dev/nvidia*
LimitNOFILE=65536
# GPU access
DeviceAllow=/dev/nvidia*
DevicePolicy=auto
# Resource limits
MemoryMax=4G
CPUQuota=300%
[Install]
WantedBy=multi-user.target