✅ Complete Path Cleanup - Updated all services in /opt/aitbc/systemd/ to use /opt/aitbc/services - Fixed blockchain node service ExecStart path - Updated PYTHONPATH for all services - Eliminated all /opt/aitbc/production/services references ✅ Service Architecture Cleanup - Single blockchain node service with correct path - GPU marketplace service as single marketplace - No duplicate marketplace services - Clean service configuration ✅ Production Structure - All services use /opt/aitbc/services - No more box in a box references - FHS compliant structure maintained - Single, manageable service architecture 🚀 Complete elimination of old production paths!
47 lines
1.0 KiB
Desktop File
47 lines
1.0 KiB
Desktop File
[Unit]
|
|
Description=AITBC Production GPU Marketplace Service
|
|
After=network.target aitbc-marketplace.service
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
Group=root
|
|
WorkingDirectory=/opt/aitbc
|
|
Environment=PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin
|
|
Environment=NODE_ID=aitbc
|
|
Environment=GPU_MARKETPLACE_PORT=8003
|
|
Environment=PYTHONPATH=/opt/aitbc/services
|
|
EnvironmentFile=/opt/aitbc/production/.env
|
|
|
|
# Production execution
|
|
ExecStart=/opt/aitbc/venv/bin/python /opt/aitbc/services/gpu_marketplace_launcher.py
|
|
ExecReload=/bin/kill -HUP $MAINPID
|
|
KillMode=mixed
|
|
TimeoutStopSec=10
|
|
|
|
# Production reliability
|
|
Restart=always
|
|
RestartSec=5
|
|
StartLimitBurst=5
|
|
StartLimitIntervalSec=60
|
|
|
|
# Production logging
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
SyslogIdentifier=aitbc-gpu-marketplace-production
|
|
|
|
# Production security
|
|
NoNewPrivileges=true
|
|
ProtectSystem=strict
|
|
ProtectHome=true
|
|
ReadWritePaths=/var/lib/aitbc/data/marketplace /var/log/aitbc/production/marketplace
|
|
|
|
# Production performance
|
|
LimitNOFILE=65536
|
|
LimitNPROC=4096
|
|
MemoryMax=2G
|
|
CPUQuota=75%
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|