✅ Final Path Cleanup - Updated all EnvironmentFile paths from /opt/aitbc/production/.env to /etc/aitbc/production.env - Restarted GPU marketplace service - Verified marketplace API is responding - Complete elimination of old production references ✅ Service Architecture - Single blockchain node service - Single GPU marketplace service (main marketplace) - Clean, single service architecture - No duplicate services ✅ Production Structure - All services use /opt/aitbc/services - Environment files use /etc/aitbc/production.env - No more box in a box references - FHS compliant structure 🚀 Complete production architecture cleanup achieved!
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=/etc/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
|