From 26f7dd5ad036275e1dba5ef480124ebf8ab28511 Mon Sep 17 00:00:00 2001 From: aitbc1 Date: Tue, 24 Mar 2026 16:14:41 +0100 Subject: [PATCH] refactor: update systemd service configurations for deployment environment changes - 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- --- systemd/aitbc-adaptive-learning.service | 34 +++++++---------- .../10-central-env.conf | 2 + systemd/aitbc-advanced-learning.service | 14 +++++++ .../10-central-env.conf | 2 + systemd/aitbc-agent-communication.service | 14 +++++++ .../10-central-env.conf | 2 + systemd/aitbc-agent-registry.service | 16 ++++++++ systemd/aitbc-blockchain-node-dev.service | 17 +++++++++ .../10-central-env.conf | 2 + .../override.conf | 4 ++ systemd/aitbc-blockchain-node.service | 11 ++++-- .../10-central-env.conf | 2 + systemd/aitbc-blockchain-p2p.service | 20 ++++++++++ .../10-central-env.conf | 2 + systemd/aitbc-blockchain-rpc-dev.service | 16 ++++++++ .../10-central-env.conf | 2 + .../override.conf | 4 ++ systemd/aitbc-blockchain-rpc.service | 9 ++++- .../10-central-env.conf | 2 + systemd/aitbc-blockchain-sync-dev.service | 26 +++++++++++++ .../10-central-env.conf | 2 + systemd/aitbc-blockchain-sync.service | 21 +++++++++++ .../10-central-env.conf | 2 + systemd/aitbc-coordinator-api.service | 16 ++------ .../10-central-env.conf | 2 + systemd/aitbc-cross-chain-reputation.service | 14 +++++++ .../10-central-env.conf | 2 + ...e-monitoring-aitbc1-edge-secondary.service | 13 +++++++ .../10-central-env.conf | 2 + systemd/aitbc-exchange-api.service | 12 +++--- .../10-central-env.conf | 2 + .../override.conf | 3 ++ systemd/aitbc-exchange-frontend.service | 11 +++--- .../10-central-env.conf | 2 + systemd/aitbc-exchange-mock-api.service | 12 ++++++ .../10-central-env.conf | 2 + systemd/aitbc-exchange.service | 15 ++++++++ .../10-central-env.conf | 2 + systemd/aitbc-explorer.service | 15 ++++---- .../10-central-env.conf | 2 + systemd/aitbc-gpu-miner.service | 18 +++------ .../10-central-env.conf | 2 + systemd/aitbc-gpu-multimodal.service | 37 +++++++++++++++++++ .../10-central-env.conf | 2 + systemd/aitbc-marketplace-enhanced.service | 33 +++++++++-------- .../10-central-env.conf | 2 + systemd/aitbc-marketplace.service | 15 ++++++++ .../10-central-env.conf | 2 + systemd/aitbc-miner-dashboard.service | 13 +++++++ .../10-central-env.conf | 2 + systemd/aitbc-modality-optimization.service | 33 +++++++---------- .../10-central-env.conf | 2 + systemd/aitbc-multimodal.service | 33 +++++++---------- .../10-central-env.conf | 2 + systemd/aitbc-node.service | 23 ++++++++++++ .../aitbc-node.service.d/10-central-env.conf | 2 + systemd/aitbc-openclaw-enhanced.service | 35 +++++++----------- .../10-central-env.conf | 2 + systemd/aitbc-wallet.service | 26 +++---------- .../10-central-env.conf | 2 + 60 files changed, 475 insertions(+), 164 deletions(-) create mode 100644 systemd/aitbc-adaptive-learning.service.d/10-central-env.conf create mode 100644 systemd/aitbc-advanced-learning.service create mode 100644 systemd/aitbc-advanced-learning.service.d/10-central-env.conf create mode 100644 systemd/aitbc-agent-communication.service create mode 100644 systemd/aitbc-agent-communication.service.d/10-central-env.conf create mode 100644 systemd/aitbc-agent-registry.service create mode 100644 systemd/aitbc-blockchain-node-dev.service create mode 100644 systemd/aitbc-blockchain-node-dev.service.d/10-central-env.conf create mode 100644 systemd/aitbc-blockchain-node-dev.service.d/override.conf create mode 100644 systemd/aitbc-blockchain-node.service.d/10-central-env.conf create mode 100644 systemd/aitbc-blockchain-p2p.service create mode 100644 systemd/aitbc-blockchain-p2p.service.d/10-central-env.conf create mode 100644 systemd/aitbc-blockchain-rpc-dev.service create mode 100644 systemd/aitbc-blockchain-rpc-dev.service.d/10-central-env.conf create mode 100644 systemd/aitbc-blockchain-rpc-dev.service.d/override.conf create mode 100644 systemd/aitbc-blockchain-rpc.service.d/10-central-env.conf create mode 100644 systemd/aitbc-blockchain-sync-dev.service create mode 100644 systemd/aitbc-blockchain-sync-dev.service.d/10-central-env.conf create mode 100644 systemd/aitbc-blockchain-sync.service create mode 100644 systemd/aitbc-blockchain-sync.service.d/10-central-env.conf create mode 100644 systemd/aitbc-coordinator-api.service.d/10-central-env.conf create mode 100644 systemd/aitbc-cross-chain-reputation.service create mode 100644 systemd/aitbc-cross-chain-reputation.service.d/10-central-env.conf create mode 100644 systemd/aitbc-edge-monitoring-aitbc1-edge-secondary.service create mode 100644 systemd/aitbc-edge-monitoring-aitbc1-edge-secondary.service.d/10-central-env.conf create mode 100644 systemd/aitbc-exchange-api.service.d/10-central-env.conf create mode 100644 systemd/aitbc-exchange-api.service.d/override.conf create mode 100644 systemd/aitbc-exchange-frontend.service.d/10-central-env.conf create mode 100644 systemd/aitbc-exchange-mock-api.service create mode 100644 systemd/aitbc-exchange-mock-api.service.d/10-central-env.conf create mode 100644 systemd/aitbc-exchange.service create mode 100644 systemd/aitbc-exchange.service.d/10-central-env.conf create mode 100644 systemd/aitbc-explorer.service.d/10-central-env.conf create mode 100644 systemd/aitbc-gpu-miner.service.d/10-central-env.conf create mode 100644 systemd/aitbc-gpu-multimodal.service create mode 100644 systemd/aitbc-gpu-multimodal.service.d/10-central-env.conf create mode 100644 systemd/aitbc-marketplace-enhanced.service.d/10-central-env.conf create mode 100644 systemd/aitbc-marketplace.service create mode 100644 systemd/aitbc-marketplace.service.d/10-central-env.conf create mode 100644 systemd/aitbc-miner-dashboard.service create mode 100644 systemd/aitbc-miner-dashboard.service.d/10-central-env.conf create mode 100644 systemd/aitbc-modality-optimization.service.d/10-central-env.conf create mode 100644 systemd/aitbc-multimodal.service.d/10-central-env.conf create mode 100644 systemd/aitbc-node.service create mode 100644 systemd/aitbc-node.service.d/10-central-env.conf create mode 100644 systemd/aitbc-openclaw-enhanced.service.d/10-central-env.conf create mode 100644 systemd/aitbc-wallet.service.d/10-central-env.conf diff --git a/systemd/aitbc-adaptive-learning.service b/systemd/aitbc-adaptive-learning.service index 95d759ed..9f433b00 100644 --- a/systemd/aitbc-adaptive-learning.service +++ b/systemd/aitbc-adaptive-learning.service @@ -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 diff --git a/systemd/aitbc-adaptive-learning.service.d/10-central-env.conf b/systemd/aitbc-adaptive-learning.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-adaptive-learning.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-advanced-learning.service b/systemd/aitbc-advanced-learning.service new file mode 100644 index 00000000..02bb65ed --- /dev/null +++ b/systemd/aitbc-advanced-learning.service @@ -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 diff --git a/systemd/aitbc-advanced-learning.service.d/10-central-env.conf b/systemd/aitbc-advanced-learning.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-advanced-learning.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-agent-communication.service b/systemd/aitbc-agent-communication.service new file mode 100644 index 00000000..bac9dab2 --- /dev/null +++ b/systemd/aitbc-agent-communication.service @@ -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 diff --git a/systemd/aitbc-agent-communication.service.d/10-central-env.conf b/systemd/aitbc-agent-communication.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-agent-communication.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-agent-registry.service b/systemd/aitbc-agent-registry.service new file mode 100644 index 00000000..fae6e898 --- /dev/null +++ b/systemd/aitbc-agent-registry.service @@ -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 diff --git a/systemd/aitbc-blockchain-node-dev.service b/systemd/aitbc-blockchain-node-dev.service new file mode 100644 index 00000000..24c56f60 --- /dev/null +++ b/systemd/aitbc-blockchain-node-dev.service @@ -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 diff --git a/systemd/aitbc-blockchain-node-dev.service.d/10-central-env.conf b/systemd/aitbc-blockchain-node-dev.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-blockchain-node-dev.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-blockchain-node-dev.service.d/override.conf b/systemd/aitbc-blockchain-node-dev.service.d/override.conf new file mode 100644 index 00000000..3678aa99 --- /dev/null +++ b/systemd/aitbc-blockchain-node-dev.service.d/override.conf @@ -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 diff --git a/systemd/aitbc-blockchain-node.service b/systemd/aitbc-blockchain-node.service index 6bcda15b..550f7205 100644 --- a/systemd/aitbc-blockchain-node.service +++ b/systemd/aitbc-blockchain-node.service @@ -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 + diff --git a/systemd/aitbc-blockchain-node.service.d/10-central-env.conf b/systemd/aitbc-blockchain-node.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-blockchain-node.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-blockchain-p2p.service b/systemd/aitbc-blockchain-p2p.service new file mode 100644 index 00000000..d9f49614 --- /dev/null +++ b/systemd/aitbc-blockchain-p2p.service @@ -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 diff --git a/systemd/aitbc-blockchain-p2p.service.d/10-central-env.conf b/systemd/aitbc-blockchain-p2p.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-blockchain-p2p.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-blockchain-rpc-dev.service b/systemd/aitbc-blockchain-rpc-dev.service new file mode 100644 index 00000000..c55e2932 --- /dev/null +++ b/systemd/aitbc-blockchain-rpc-dev.service @@ -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 diff --git a/systemd/aitbc-blockchain-rpc-dev.service.d/10-central-env.conf b/systemd/aitbc-blockchain-rpc-dev.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-blockchain-rpc-dev.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-blockchain-rpc-dev.service.d/override.conf b/systemd/aitbc-blockchain-rpc-dev.service.d/override.conf new file mode 100644 index 00000000..3656bb65 --- /dev/null +++ b/systemd/aitbc-blockchain-rpc-dev.service.d/override.conf @@ -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 diff --git a/systemd/aitbc-blockchain-rpc.service b/systemd/aitbc-blockchain-rpc.service index ab14d77a..8872e22c 100644 --- a/systemd/aitbc-blockchain-rpc.service +++ b/systemd/aitbc-blockchain-rpc.service @@ -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 + diff --git a/systemd/aitbc-blockchain-rpc.service.d/10-central-env.conf b/systemd/aitbc-blockchain-rpc.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-blockchain-rpc.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-blockchain-sync-dev.service b/systemd/aitbc-blockchain-sync-dev.service new file mode 100644 index 00000000..94133219 --- /dev/null +++ b/systemd/aitbc-blockchain-sync-dev.service @@ -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 diff --git a/systemd/aitbc-blockchain-sync-dev.service.d/10-central-env.conf b/systemd/aitbc-blockchain-sync-dev.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-blockchain-sync-dev.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-blockchain-sync.service b/systemd/aitbc-blockchain-sync.service new file mode 100644 index 00000000..f423bd86 --- /dev/null +++ b/systemd/aitbc-blockchain-sync.service @@ -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 diff --git a/systemd/aitbc-blockchain-sync.service.d/10-central-env.conf b/systemd/aitbc-blockchain-sync.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-blockchain-sync.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-coordinator-api.service b/systemd/aitbc-coordinator-api.service index 8509e8c5..60fb2708 100644 --- a/systemd/aitbc-coordinator-api.service +++ b/systemd/aitbc-coordinator-api.service @@ -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 diff --git a/systemd/aitbc-coordinator-api.service.d/10-central-env.conf b/systemd/aitbc-coordinator-api.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-coordinator-api.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-cross-chain-reputation.service b/systemd/aitbc-cross-chain-reputation.service new file mode 100644 index 00000000..052319ab --- /dev/null +++ b/systemd/aitbc-cross-chain-reputation.service @@ -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 diff --git a/systemd/aitbc-cross-chain-reputation.service.d/10-central-env.conf b/systemd/aitbc-cross-chain-reputation.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-cross-chain-reputation.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-edge-monitoring-aitbc1-edge-secondary.service b/systemd/aitbc-edge-monitoring-aitbc1-edge-secondary.service new file mode 100644 index 00000000..6a7e4f31 --- /dev/null +++ b/systemd/aitbc-edge-monitoring-aitbc1-edge-secondary.service @@ -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 diff --git a/systemd/aitbc-edge-monitoring-aitbc1-edge-secondary.service.d/10-central-env.conf b/systemd/aitbc-edge-monitoring-aitbc1-edge-secondary.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-edge-monitoring-aitbc1-edge-secondary.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-exchange-api.service b/systemd/aitbc-exchange-api.service index c90528f5..ef4931cf 100644 --- a/systemd/aitbc-exchange-api.service +++ b/systemd/aitbc-exchange-api.service @@ -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 diff --git a/systemd/aitbc-exchange-api.service.d/10-central-env.conf b/systemd/aitbc-exchange-api.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-exchange-api.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-exchange-api.service.d/override.conf b/systemd/aitbc-exchange-api.service.d/override.conf new file mode 100644 index 00000000..7671efde --- /dev/null +++ b/systemd/aitbc-exchange-api.service.d/override.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python simple_exchange_api.py --port 8001 diff --git a/systemd/aitbc-exchange-frontend.service b/systemd/aitbc-exchange-frontend.service index 7b52efcb..6482b8ab 100644 --- a/systemd/aitbc-exchange-frontend.service +++ b/systemd/aitbc-exchange-frontend.service @@ -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 diff --git a/systemd/aitbc-exchange-frontend.service.d/10-central-env.conf b/systemd/aitbc-exchange-frontend.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-exchange-frontend.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-exchange-mock-api.service b/systemd/aitbc-exchange-mock-api.service new file mode 100644 index 00000000..9c236a43 --- /dev/null +++ b/systemd/aitbc-exchange-mock-api.service @@ -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 diff --git a/systemd/aitbc-exchange-mock-api.service.d/10-central-env.conf b/systemd/aitbc-exchange-mock-api.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-exchange-mock-api.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-exchange.service b/systemd/aitbc-exchange.service new file mode 100644 index 00000000..6155acbc --- /dev/null +++ b/systemd/aitbc-exchange.service @@ -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 diff --git a/systemd/aitbc-exchange.service.d/10-central-env.conf b/systemd/aitbc-exchange.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-exchange.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-explorer.service b/systemd/aitbc-explorer.service index 8104e050..2067f175 100644 --- a/systemd/aitbc-explorer.service +++ b/systemd/aitbc-explorer.service @@ -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] diff --git a/systemd/aitbc-explorer.service.d/10-central-env.conf b/systemd/aitbc-explorer.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-explorer.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-gpu-miner.service b/systemd/aitbc-gpu-miner.service index 64d74782..d03e606d 100644 --- a/systemd/aitbc-gpu-miner.service +++ b/systemd/aitbc-gpu-miner.service @@ -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 diff --git a/systemd/aitbc-gpu-miner.service.d/10-central-env.conf b/systemd/aitbc-gpu-miner.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-gpu-miner.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-gpu-multimodal.service b/systemd/aitbc-gpu-multimodal.service new file mode 100644 index 00000000..d555b04b --- /dev/null +++ b/systemd/aitbc-gpu-multimodal.service @@ -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 diff --git a/systemd/aitbc-gpu-multimodal.service.d/10-central-env.conf b/systemd/aitbc-gpu-multimodal.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-gpu-multimodal.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-marketplace-enhanced.service b/systemd/aitbc-marketplace-enhanced.service index 539cc8c0..97c34425 100644 --- a/systemd/aitbc-marketplace-enhanced.service +++ b/systemd/aitbc-marketplace-enhanced.service @@ -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 diff --git a/systemd/aitbc-marketplace-enhanced.service.d/10-central-env.conf b/systemd/aitbc-marketplace-enhanced.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-marketplace-enhanced.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-marketplace.service b/systemd/aitbc-marketplace.service new file mode 100644 index 00000000..8734e9b8 --- /dev/null +++ b/systemd/aitbc-marketplace.service @@ -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 diff --git a/systemd/aitbc-marketplace.service.d/10-central-env.conf b/systemd/aitbc-marketplace.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-marketplace.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-miner-dashboard.service b/systemd/aitbc-miner-dashboard.service new file mode 100644 index 00000000..c8f0dcc9 --- /dev/null +++ b/systemd/aitbc-miner-dashboard.service @@ -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 diff --git a/systemd/aitbc-miner-dashboard.service.d/10-central-env.conf b/systemd/aitbc-miner-dashboard.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-miner-dashboard.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-modality-optimization.service b/systemd/aitbc-modality-optimization.service index 5efba641..18ac74d9 100644 --- a/systemd/aitbc-modality-optimization.service +++ b/systemd/aitbc-modality-optimization.service @@ -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 diff --git a/systemd/aitbc-modality-optimization.service.d/10-central-env.conf b/systemd/aitbc-modality-optimization.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-modality-optimization.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-multimodal.service b/systemd/aitbc-multimodal.service index feb75962..d763b0ba 100644 --- a/systemd/aitbc-multimodal.service +++ b/systemd/aitbc-multimodal.service @@ -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 diff --git a/systemd/aitbc-multimodal.service.d/10-central-env.conf b/systemd/aitbc-multimodal.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-multimodal.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-node.service b/systemd/aitbc-node.service new file mode 100644 index 00000000..dada9039 --- /dev/null +++ b/systemd/aitbc-node.service @@ -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 diff --git a/systemd/aitbc-node.service.d/10-central-env.conf b/systemd/aitbc-node.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-node.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-openclaw-enhanced.service b/systemd/aitbc-openclaw-enhanced.service index 221d037a..a7fc3a28 100644 --- a/systemd/aitbc-openclaw-enhanced.service +++ b/systemd/aitbc-openclaw-enhanced.service @@ -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 diff --git a/systemd/aitbc-openclaw-enhanced.service.d/10-central-env.conf b/systemd/aitbc-openclaw-enhanced.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-openclaw-enhanced.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env diff --git a/systemd/aitbc-wallet.service b/systemd/aitbc-wallet.service index edd4f5a5..bf355134 100644 --- a/systemd/aitbc-wallet.service +++ b/systemd/aitbc-wallet.service @@ -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 diff --git a/systemd/aitbc-wallet.service.d/10-central-env.conf b/systemd/aitbc-wallet.service.d/10-central-env.conf new file mode 100644 index 00000000..40bdf519 --- /dev/null +++ b/systemd/aitbc-wallet.service.d/10-central-env.conf @@ -0,0 +1,2 @@ +[Service] +EnvironmentFile=/opt/aitbc/.env