refactor: update systemd service configurations for deployment environment changes
Some checks failed
AITBC CI/CD Pipeline / lint-and-test (3.11) (push) Has been cancelled
AITBC CI/CD Pipeline / lint-and-test (3.12) (push) Has been cancelled
AITBC CI/CD Pipeline / lint-and-test (3.13) (push) Has been cancelled
AITBC CI/CD Pipeline / test-cli (push) Has been cancelled
AITBC CI/CD Pipeline / test-services (push) Has been cancelled
AITBC CI/CD Pipeline / test-production-services (push) Has been cancelled
AITBC CI/CD Pipeline / security-scan (push) Has been cancelled
AITBC CI/CD Pipeline / build (push) Has been cancelled
AITBC CI/CD Pipeline / deploy-staging (push) Has been cancelled
AITBC CI/CD Pipeline / deploy-production (push) Has been cancelled
AITBC CI/CD Pipeline / performance-test (push) Has been cancelled
AITBC CI/CD Pipeline / docs (push) Has been cancelled
AITBC CI/CD Pipeline / release (push) Has been cancelled
AITBC CI/CD Pipeline / notify (push) Has been cancelled
Security Scanning / Bandit Security Scan (apps/coordinator-api/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (cli/aitbc_cli) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-core/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-crypto/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-sdk/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (tests) (push) Has been cancelled
Security Scanning / CodeQL Security Analysis (javascript) (push) Has been cancelled
Security Scanning / CodeQL Security Analysis (python) (push) Has been cancelled
Security Scanning / Dependency Security Scan (push) Has been cancelled
Security Scanning / Container Security Scan (push) Has been cancelled
Security Scanning / OSSF Scorecard (push) Has been cancelled
Security Scanning / Security Summary Report (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.11) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.12) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.13) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-summary (push) Has been cancelled
Some checks failed
AITBC CI/CD Pipeline / lint-and-test (3.11) (push) Has been cancelled
AITBC CI/CD Pipeline / lint-and-test (3.12) (push) Has been cancelled
AITBC CI/CD Pipeline / lint-and-test (3.13) (push) Has been cancelled
AITBC CI/CD Pipeline / test-cli (push) Has been cancelled
AITBC CI/CD Pipeline / test-services (push) Has been cancelled
AITBC CI/CD Pipeline / test-production-services (push) Has been cancelled
AITBC CI/CD Pipeline / security-scan (push) Has been cancelled
AITBC CI/CD Pipeline / build (push) Has been cancelled
AITBC CI/CD Pipeline / deploy-staging (push) Has been cancelled
AITBC CI/CD Pipeline / deploy-production (push) Has been cancelled
AITBC CI/CD Pipeline / performance-test (push) Has been cancelled
AITBC CI/CD Pipeline / docs (push) Has been cancelled
AITBC CI/CD Pipeline / release (push) Has been cancelled
AITBC CI/CD Pipeline / notify (push) Has been cancelled
Security Scanning / Bandit Security Scan (apps/coordinator-api/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (cli/aitbc_cli) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-core/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-crypto/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-sdk/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (tests) (push) Has been cancelled
Security Scanning / CodeQL Security Analysis (javascript) (push) Has been cancelled
Security Scanning / CodeQL Security Analysis (python) (push) Has been cancelled
Security Scanning / Dependency Security Scan (push) Has been cancelled
Security Scanning / Container Security Scan (push) Has been cancelled
Security Scanning / OSSF Scorecard (push) Has been cancelled
Security Scanning / Security Summary Report (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.11) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.12) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.13) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-summary (push) Has been cancelled
- Change user/group from aitbc to debian/root across services - Update working directories from /opt/aitbc to environment-specific paths - Modify virtual environment paths to match new deployment structure - Update blockchain services to use combined_main and add EnvironmentFile directives - Change adaptive-learning, modality-optimization, multimodal, openclaw-enhanced ports and module paths - Update marketplace-
This commit is contained in:
@@ -1,38 +1,32 @@
|
||||
[Unit]
|
||||
Description=AITBC Adaptive Learning Service (Port 8013)
|
||||
Documentation=https://docs.aitbc.bubuit.net
|
||||
Description=AITBC Adaptive Learning Service
|
||||
After=network.target aitbc-coordinator-api.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=8013
|
||||
Environment=SERVICE_TYPE=adaptive-learning
|
||||
Environment=LEARNING_MODE=online
|
||||
Environment=LOG_LEVEL=INFO
|
||||
ExecStart=/opt/aitbc/.venv/bin/python -m aitbc_adaptive_learning.main
|
||||
User=debian
|
||||
Group=debian
|
||||
WorkingDirectory=/home/oib/aitbc/apps/coordinator-api
|
||||
Environment=PATH=/opt/coordinator-api/.venv/bin
|
||||
ExecStart=/opt/coordinator-api/.venv/bin/python -m uvicorn src.app.services.adaptive_learning_app:app --host 127.0.0.1 --port 8005
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
Restart=always
|
||||
KillMode=mixed
|
||||
TimeoutStopSec=5
|
||||
PrivateTmp=true
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
# Logging
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
SyslogIdentifier=aitbc-adaptive-learning
|
||||
|
||||
# Security settings
|
||||
# Security
|
||||
NoNewPrivileges=true
|
||||
PrivateTmp=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data /opt/aitbc/models
|
||||
LimitNOFILE=65536
|
||||
|
||||
# Resource limits
|
||||
MemoryMax=3G
|
||||
CPUQuota=250%
|
||||
ReadWritePaths=/home/oib/aitbc/apps/coordinator-api
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
14
systemd/aitbc-advanced-learning.service
Normal file
14
systemd/aitbc-advanced-learning.service
Normal file
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=AITBC Advanced Learning Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
WorkingDirectory=/opt/aitbc/services
|
||||
ExecStart=/usr/bin/python3 -m advanced_learning
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
14
systemd/aitbc-agent-communication.service
Normal file
14
systemd/aitbc-agent-communication.service
Normal file
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=AITBC Agent Communication Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=debian
|
||||
WorkingDirectory=/opt/aitbc/services
|
||||
ExecStart=/usr/bin/python3 -m agent_communication
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
16
systemd/aitbc-agent-registry.service
Normal file
16
systemd/aitbc-agent-registry.service
Normal file
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=AITBC Agent Registry Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=debian
|
||||
Group=debian
|
||||
WorkingDirectory=/opt/aitbc/apps/agent-registry/src
|
||||
Environment=PYTHONPATH=/opt/aitbc
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python app.py
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
17
systemd/aitbc-blockchain-node-dev.service
Normal file
17
systemd/aitbc-blockchain-node-dev.service
Normal file
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=AITBC Blockchain Node (Development)
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
User=root
|
||||
WorkingDirectory=/opt/aitbc/apps/blockchain-node
|
||||
Environment=PATH=/opt/aitbc/apps/blockchain-node/.venv/bin:/usr/local/bin:/usr/bin:/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts
|
||||
EnvironmentFile=-/opt/aitbc/.env
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python3 -m aitbc_chain.main
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
@@ -0,0 +1,4 @@
|
||||
[Service]
|
||||
Environment=NODE_PORT=8025
|
||||
ExecStart=
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python3 -m uvicorn aitbc_chain.app:app --host 0.0.0.0 --port 8025
|
||||
@@ -1,13 +1,17 @@
|
||||
[Unit]
|
||||
Description=AITBC Blockchain Node
|
||||
Description=AITBC Blockchain Node (Combined with P2P)
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/opt/aitbc/apps/blockchain-node
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
Environment=PATH=/opt/aitbc/apps/blockchain-node/.venv/bin:/usr/local/bin:/usr/bin:/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python -m aitbc_chain.main
|
||||
#EnvironmentFile=/opt/aitbc/apps/blockchain-node/.env.production
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python3 -m aitbc_chain.combined_main
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=journal
|
||||
@@ -15,3 +19,4 @@ StandardError=journal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
20
systemd/aitbc-blockchain-p2p.service
Normal file
20
systemd/aitbc-blockchain-p2p.service
Normal file
@@ -0,0 +1,20 @@
|
||||
[Unit]
|
||||
Description=AITBC Blockchain P2P Network Service
|
||||
After=network.target redis.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/opt/aitbc/apps/blockchain-node
|
||||
Environment=PATH=/opt/aitbc/apps/blockchain-node/.venv/bin:/usr/local/bin:/usr/bin:/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts
|
||||
EnvironmentFile=/opt/aitbc/apps/blockchain-node/.env.production
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python3 -m aitbc_chain.p2p_network --host ${p2p_bind_host} --port ${p2p_bind_port} --redis ${gossip_broadcast_url} --node-id ${proposer_id}
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
16
systemd/aitbc-blockchain-rpc-dev.service
Normal file
16
systemd/aitbc-blockchain-rpc-dev.service
Normal file
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=AITBC Blockchain RPC API (Development)
|
||||
After=blockchain-node-2.service
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
User=root
|
||||
WorkingDirectory=/opt/aitbc/apps/blockchain-node
|
||||
Environment=PATH=/opt/aitbc/apps/blockchain-node/.venv/bin:/usr/local/bin:/usr/bin:/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python3 -m uvicorn aitbc_chain.app:app --host 0.0.0.0 --port 8081
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
4
systemd/aitbc-blockchain-rpc-dev.service.d/override.conf
Normal file
4
systemd/aitbc-blockchain-rpc-dev.service.d/override.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
[Service]
|
||||
Environment=RPC_PORT=8026
|
||||
ExecStart=
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python3 -m uvicorn aitbc_chain.app:app --host 0.0.0.0 --port 8026
|
||||
@@ -4,10 +4,14 @@ After=network.target aitbc-blockchain-node.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/opt/aitbc/apps/blockchain-node
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
Environment=PATH=/opt/aitbc/apps/blockchain-node/.venv/bin:/usr/local/bin:/usr/bin:/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python -m uvicorn aitbc_chain.app:app --host 127.0.0.1 --port 8006 --log-level info
|
||||
EnvironmentFile=/opt/aitbc/apps/blockchain-node/.env.production
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python3 -m uvicorn aitbc_chain.app:app --host ${rpc_bind_host} --port ${rpc_bind_port}
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=journal
|
||||
@@ -15,3 +19,4 @@ StandardError=journal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
26
systemd/aitbc-blockchain-sync-dev.service
Normal file
26
systemd/aitbc-blockchain-sync-dev.service
Normal file
@@ -0,0 +1,26 @@
|
||||
[Unit]
|
||||
Description=AITBC Blockchain Chain Synchronization Service (Dev)
|
||||
After=network.target redis.service aitbc-blockchain-node-dev.service aitbc-blockchain-rpc-dev.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/opt/aitbc/apps/blockchain-node
|
||||
Environment=PATH=/opt/aitbc/apps/blockchain-node/.venv/bin:/usr/local/bin:/usr/bin:/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts
|
||||
EnvironmentFile=-/opt/aitbc/.env
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python3 -m aitbc_chain.chain_sync \
|
||||
--redis redis://localhost:6379 \
|
||||
--node-id follower-dev \
|
||||
--rpc-port 8026 \
|
||||
--leader-host 127.0.0.1 \
|
||||
--source-host 127.0.0.1 --source-port 8006 \
|
||||
--import-host 127.0.0.1 --import-port 8026
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
21
systemd/aitbc-blockchain-sync.service
Normal file
21
systemd/aitbc-blockchain-sync.service
Normal file
@@ -0,0 +1,21 @@
|
||||
[Unit]
|
||||
Description=AITBC Blockchain Chain Synchronization Service
|
||||
After=network.target redis.service aitbc-blockchain-node.service aitbc-blockchain-rpc.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/opt/aitbc/apps/blockchain-node
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
Environment=PATH=/opt/aitbc/apps/blockchain-node/.venv/bin:/usr/local/bin:/usr/bin:/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts
|
||||
EnvironmentFile=/opt/aitbc/apps/blockchain-node/.env.production
|
||||
ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python3 -m aitbc_chain.chain_sync --redis redis://localhost:6379 --node-id ait18yefwwclgmyu2a74zvv0hj3a3xw6gxsn4akrj963kp069j9xy5ns3kurun --rpc-port 8006 --leader-host 10.1.223.40 --source-host 10.1.223.40 --source-port 8006 --import-host 10.1.223.40 --import-port 8006
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
@@ -1,24 +1,16 @@
|
||||
[Unit]
|
||||
Description=AITBC Coordinator API Service (Python 3.13.5+)
|
||||
Description=AITBC Coordinator API
|
||||
After=network.target
|
||||
Wants=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
WorkingDirectory=/opt/aitbc/apps/coordinator-api
|
||||
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src
|
||||
Environment=MINER_API_KEYS=["miner_test_abc123"]
|
||||
# Python version validation
|
||||
ExecStartPre=/bin/bash -c "python3 --version || (echo 'Python 3.13.5+ required' && exit 1)"
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn main:app --host 0.0.0.0 --port 8000
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
User=root
|
||||
WorkingDirectory=/opt/aitbc/apps/coordinator-api/src
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
SyslogIdentifier=aitbc-coordinator-api
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
14
systemd/aitbc-cross-chain-reputation.service
Normal file
14
systemd/aitbc-cross-chain-reputation.service
Normal file
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=AITBC Cross Chain Reputation Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
WorkingDirectory=/opt/aitbc/services
|
||||
ExecStart=/usr/bin/python3 -m cross_chain_reputation
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
13
systemd/aitbc-edge-monitoring-aitbc1-edge-secondary.service
Normal file
13
systemd/aitbc-edge-monitoring-aitbc1-edge-secondary.service
Normal file
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=AITBC Edge Node Monitoring - aitbc1-edge-secondary
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
ExecStart=/tmp/aitbc-monitoring/monitor.sh
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
@@ -1,17 +1,15 @@
|
||||
[Unit]
|
||||
Description=AITBC Exchange API Service (Python 3.13.5+)
|
||||
Description=AITBC Exchange API Service
|
||||
After=network.target
|
||||
Wants=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
Group=aitbc
|
||||
WorkingDirectory=/opt/aitbc/apps/trade-exchange
|
||||
User=debian
|
||||
Group=debian
|
||||
WorkingDirectory=/opt/aitbc/apps/exchange
|
||||
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin
|
||||
# Python version validation
|
||||
ExecStartPre=/bin/bash -c "python3 --version || (echo 'Python 3.13.5+ required' && exit 1)"
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python simple_exchange_api.py --port 8001
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python simple_exchange_api.py
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
2
systemd/aitbc-exchange-api.service.d/10-central-env.conf
Normal file
2
systemd/aitbc-exchange-api.service.d/10-central-env.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
3
systemd/aitbc-exchange-api.service.d/override.conf
Normal file
3
systemd/aitbc-exchange-api.service.d/override.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python simple_exchange_api.py --port 8001
|
||||
@@ -5,12 +5,11 @@ Wants=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
Group=aitbc
|
||||
WorkingDirectory=/opt/aitbc/apps/trade-exchange
|
||||
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/trade-exchange
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python server.py --port 3002
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/root/aitbc/apps/trade-exchange
|
||||
Environment=PATH=/root/aitbc/.venv/bin
|
||||
ExecStart=/root/aitbc/.venv/bin/python server.py --port 3002
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
12
systemd/aitbc-exchange-mock-api.service
Normal file
12
systemd/aitbc-exchange-mock-api.service
Normal file
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=AITBC Exchange Mock API (trades/orderbook/wallet-connect)
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/python3 /var/www/aitbc.bubuit.net/api/exchange_mock_api.py
|
||||
Restart=always
|
||||
RestartSec=2
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
15
systemd/aitbc-exchange.service
Normal file
15
systemd/aitbc-exchange.service
Normal file
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=AITBC Trade Exchange
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
User=debian
|
||||
WorkingDirectory=/opt/aitbc/apps/exchange
|
||||
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python server.py --port 3002
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
2
systemd/aitbc-exchange.service.d/10-central-env.conf
Normal file
2
systemd/aitbc-exchange.service.d/10-central-env.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
@@ -1,19 +1,18 @@
|
||||
[Unit]
|
||||
Description=AITBC Blockchain Explorer UI
|
||||
After=network.target aitbc-blockchain-rpc.service
|
||||
After=network.target aitbc-blockchain-rpc-1.service aitbc-blockchain-rpc-2.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
Group=aitbc
|
||||
User=root
|
||||
WorkingDirectory=/opt/aitbc/apps/blockchain-explorer
|
||||
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin:/usr/local/bin:/usr/bin:/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-explorer
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python main.py
|
||||
# Using the blockchain node venv since the coordinator one is broken
|
||||
Environment=PATH=/opt/blockchain-node/.venv/bin:/usr/local/bin:/usr/bin:/bin
|
||||
ExecStart=/opt/blockchain-node/.venv/bin/python3 main.py
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
SyslogIdentifier=aitbc-explorer
|
||||
|
||||
[Install]
|
||||
|
||||
2
systemd/aitbc-explorer.service.d/10-central-env.conf
Normal file
2
systemd/aitbc-explorer.service.d/10-central-env.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
@@ -5,16 +5,11 @@ Wants=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
Group=aitbc
|
||||
WorkingDirectory=/opt/aitbc
|
||||
Environment=PYTHONPATH=/opt/aitbc/dev/gpu
|
||||
Environment=VIRTUAL_ENV=/opt/aitbc/.venv
|
||||
Environment=PYTHONUNBUFFERED=1
|
||||
Environment=PYTHONIOENCODING=utf-8
|
||||
Environment=FORCE_COLOR=1
|
||||
Environment=PATH=/opt/aitbc/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
ExecStart=/bin/bash -c 'exec /opt/aitbc/apps/coordinator-api/.venv/bin/python -u /opt/aitbc/dev/gpu/gpu_miner_host.py 2>&1 | tee -a /opt/aitbc/logs/host_gpu_miner.log'
|
||||
User=debian
|
||||
Group=debian
|
||||
WorkingDirectory=/home/debian/aitbc
|
||||
Environment=PYTHONPATH=/home/debian/aitbc
|
||||
ExecStart=/home/debian/aitbc/venv/bin/python /home/debian/aitbc/gpu_miner_simple.py
|
||||
Restart=on-failure
|
||||
RestartSec=30
|
||||
StartLimitInterval=300
|
||||
@@ -27,8 +22,7 @@ SyslogIdentifier=aitbc-gpu-miner
|
||||
NoNewPrivileges=true
|
||||
PrivateTmp=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data /opt/aitbc/dev/gpu
|
||||
ReadWritePaths=/home/debian/aitbc
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
2
systemd/aitbc-gpu-miner.service.d/10-central-env.conf
Normal file
2
systemd/aitbc-gpu-miner.service.d/10-central-env.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
37
systemd/aitbc-gpu-multimodal.service
Normal file
37
systemd/aitbc-gpu-multimodal.service
Normal file
@@ -0,0 +1,37 @@
|
||||
[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=/opt/coordinator-api/.venv/bin
|
||||
Environment=CUDA_VISIBLE_DEVICES=0
|
||||
ExecStart=/opt/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
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
@@ -1,28 +1,31 @@
|
||||
[Unit]
|
||||
Description=AITBC Enhanced Marketplace Service (Port 8014)
|
||||
Documentation=https://docs.aitbc.bubuit.net
|
||||
After=network.target aitbc-coordinator-api.service postgresql.service
|
||||
Wants=aitbc-coordinator-api.service postgresql.service
|
||||
Description=AITBC Enhanced Marketplace Service
|
||||
After=network.target aitbc-coordinator-api.service
|
||||
Wants=aitbc-coordinator-api.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
Group=aitbc
|
||||
User=root
|
||||
WorkingDirectory=/opt/aitbc/apps/coordinator-api
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src
|
||||
Environment=PORT=8014
|
||||
Environment=SERVICE_TYPE=marketplace-enhanced
|
||||
Environment=DATABASE_URL=postgresql://aitbc:password@localhost:5432/aitbc
|
||||
Environment=ROYALTY_ENABLED=true
|
||||
Environment=LICENSING_ENABLED=true
|
||||
Environment=LOG_LEVEL=INFO
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8014
|
||||
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn src.app.routers.marketplace_enhanced_app:app --host 127.0.0.1 --port 8021
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
Restart=always
|
||||
KillMode=mixed
|
||||
TimeoutStopSec=5
|
||||
PrivateTmp=true
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
# Logging
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
SyslogIdentifier=aitbc-marketplace-enhanced
|
||||
|
||||
# Security
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=/opt/aitbc/apps/coordinator-api
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
15
systemd/aitbc-marketplace.service
Normal file
15
systemd/aitbc-marketplace.service
Normal file
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=AITBC Marketplace UI
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
User=root
|
||||
WorkingDirectory=/root/aitbc/apps/marketplace-ui
|
||||
Environment=PATH=/root/aitbc/.venv/bin
|
||||
ExecStart=/root/aitbc/.venv/bin/python server.py --port 3001
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
2
systemd/aitbc-marketplace.service.d/10-central-env.conf
Normal file
2
systemd/aitbc-marketplace.service.d/10-central-env.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
13
systemd/aitbc-miner-dashboard.service
Normal file
13
systemd/aitbc-miner-dashboard.service
Normal file
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=AITBC Miner Dashboard
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
WorkingDirectory=/opt/aitbc-miner-dashboard
|
||||
ExecStart=/usr/bin/python3 dashboard_server.py
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
@@ -1,37 +1,32 @@
|
||||
[Unit]
|
||||
Description=AITBC Modality Optimization Service (Port 8012)
|
||||
Documentation=https://docs.aitbc.bubuit.net
|
||||
Description=AITBC Modality Optimization Service
|
||||
After=network.target aitbc-coordinator-api.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=8012
|
||||
Environment=SERVICE_TYPE=modality-optimization
|
||||
Environment=LOG_LEVEL=INFO
|
||||
ExecStart=/opt/aitbc/.venv/bin/python -m aitbc_modality_optimization.main
|
||||
User=debian
|
||||
Group=debian
|
||||
WorkingDirectory=/home/oib/aitbc/apps/coordinator-api
|
||||
Environment=PATH=/opt/coordinator-api/.venv/bin
|
||||
ExecStart=/opt/coordinator-api/.venv/bin/python -m uvicorn src.app.services.modality_optimization_app:app --host 127.0.0.1 --port 8004
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
Restart=always
|
||||
KillMode=mixed
|
||||
TimeoutStopSec=5
|
||||
PrivateTmp=true
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
# Logging
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
SyslogIdentifier=aitbc-modality-optimization
|
||||
|
||||
# Security settings
|
||||
# Security
|
||||
NoNewPrivileges=true
|
||||
PrivateTmp=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data
|
||||
LimitNOFILE=65536
|
||||
|
||||
# Resource limits
|
||||
MemoryMax=1G
|
||||
CPUQuota=150%
|
||||
ReadWritePaths=/home/oib/aitbc/apps/coordinator-api
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
@@ -1,37 +1,32 @@
|
||||
[Unit]
|
||||
Description=AITBC Multi-Modal Agent Service (Port 8010)
|
||||
Documentation=https://docs.aitbc.bubuit.net
|
||||
Description=AITBC Multi-Modal Agent Service
|
||||
After=network.target aitbc-coordinator-api.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=8010
|
||||
Environment=SERVICE_TYPE=multimodal
|
||||
Environment=LOG_LEVEL=INFO
|
||||
ExecStart=/opt/aitbc/.venv/bin/python -m aitbc_multimodal.main
|
||||
User=debian
|
||||
Group=debian
|
||||
WorkingDirectory=/home/oib/aitbc/apps/coordinator-api
|
||||
Environment=PATH=/opt/coordinator-api/.venv/bin
|
||||
ExecStart=/opt/coordinator-api/.venv/bin/python -m uvicorn src.app.services.multimodal_app:app --host 127.0.0.1 --port 8002
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
Restart=always
|
||||
KillMode=mixed
|
||||
TimeoutStopSec=5
|
||||
PrivateTmp=true
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
# Logging
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
SyslogIdentifier=aitbc-multimodal
|
||||
|
||||
# Security settings
|
||||
# Security
|
||||
NoNewPrivileges=true
|
||||
PrivateTmp=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data
|
||||
LimitNOFILE=65536
|
||||
|
||||
# Resource limits
|
||||
MemoryMax=2G
|
||||
CPUQuota=200%
|
||||
ReadWritePaths=/home/oib/aitbc/apps/coordinator-api
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
2
systemd/aitbc-multimodal.service.d/10-central-env.conf
Normal file
2
systemd/aitbc-multimodal.service.d/10-central-env.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
23
systemd/aitbc-node.service
Normal file
23
systemd/aitbc-node.service
Normal file
@@ -0,0 +1,23 @@
|
||||
[Unit]
|
||||
Description=AITBC Blockchain Node Service
|
||||
After=network.target
|
||||
Wants=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/root/aitbc/apps/blockchain-node
|
||||
Environment=PATH=/root/aitbc/.venv/bin
|
||||
Environment=PYTHONPATH=/root/aitbc/apps/blockchain-node
|
||||
Environment=RUST_LOG=info
|
||||
ExecStart=/root/aitbc/.venv/bin/python -m node.main --datadir /root/aitbc/data --rpc-bind 0.0.0.0:8545
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
SyslogIdentifier=aitbc-node
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
2
systemd/aitbc-node.service.d/10-central-env.conf
Normal file
2
systemd/aitbc-node.service.d/10-central-env.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
@@ -1,39 +1,32 @@
|
||||
[Unit]
|
||||
Description=AITBC OpenClaw Enhanced Service (Port 8015)
|
||||
Documentation=https://docs.aitbc.bubuit.net
|
||||
Description=AITBC OpenClaw Enhanced Service
|
||||
After=network.target aitbc-coordinator-api.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=8015
|
||||
Environment=SERVICE_TYPE=openclaw-enhanced
|
||||
Environment=EDGE_COMPUTING_ENABLED=true
|
||||
Environment=AGENT_ORCHESTRATION_ENABLED=true
|
||||
Environment=LOG_LEVEL=INFO
|
||||
ExecStart=/opt/aitbc/.venv/bin/python -m aitbc_openclaw_enhanced.main
|
||||
User=debian
|
||||
Group=debian
|
||||
WorkingDirectory=/home/oib/aitbc/apps/coordinator-api
|
||||
Environment=PATH=/opt/coordinator-api/.venv/bin
|
||||
ExecStart=/opt/coordinator-api/.venv/bin/python -m uvicorn src.app.routers.openclaw_enhanced_app:app --host 127.0.0.1 --port 8007
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
Restart=always
|
||||
KillMode=mixed
|
||||
TimeoutStopSec=5
|
||||
PrivateTmp=true
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
# Logging
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
SyslogIdentifier=aitbc-openclaw-enhanced
|
||||
|
||||
# Security settings
|
||||
# Security
|
||||
NoNewPrivileges=true
|
||||
PrivateTmp=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data
|
||||
LimitNOFILE=65536
|
||||
|
||||
# Resource limits
|
||||
MemoryMax=2G
|
||||
CPUQuota=200%
|
||||
ReadWritePaths=/home/oib/aitbc/apps/coordinator-api
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
@@ -1,29 +1,15 @@
|
||||
[Unit]
|
||||
Description=AITBC Wallet Daemon Service (Python 3.13.5+)
|
||||
Description=AITBC Wallet Daemon Service
|
||||
After=network.target
|
||||
Wants=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=aitbc
|
||||
Group=aitbc
|
||||
WorkingDirectory=/opt/aitbc/apps/coordinator-api
|
||||
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin
|
||||
Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src
|
||||
Environment=PYTHONUNBUFFERED=1
|
||||
Environment=PYTHONIOENCODING=utf-8
|
||||
Environment=PORT=8002
|
||||
Environment=SERVICE_TYPE=wallet
|
||||
Environment=LOG_LEVEL=INFO
|
||||
# Python version validation
|
||||
ExecStartPre=/bin/bash -c "python3 --version || (echo 'Python 3.13.5+ required' && exit 1)"
|
||||
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8002
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
User=root
|
||||
WorkingDirectory=/opt/aitbc/apps/wallet-daemon/src
|
||||
Environment=PYTHONPATH=/opt/aitbc/packages/py/aitbc-crypto/src:/opt/aitbc/packages/py/aitbc-sdk/src
|
||||
ExecStart=/opt/aitbc/apps/wallet-daemon/.venv/bin/python -m uvicorn app.main:app --host 127.0.0.1 --port 8002
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
SyslogIdentifier=aitbc-wallet
|
||||
RestartSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
2
systemd/aitbc-wallet.service.d/10-central-env.conf
Normal file
2
systemd/aitbc-wallet.service.d/10-central-env.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
EnvironmentFile=/opt/aitbc/.env
|
||||
Reference in New Issue
Block a user