#!/usr/bin/env bash set -euo pipefail APP_DIR=/opt/okx-codex-trader SERVICE=eth-nextgen-micro-observer.service sudo useradd --system --create-home --shell /usr/sbin/nologin okxbot 2>/dev/null || true sudo mkdir -p "$APP_DIR" /etc/okx-codex-trader sudo rsync -a --delete \ --exclude .git \ --exclude .venv \ --exclude .pytest_cache \ --exclude var \ ./ "$APP_DIR"/ sudo apt-get update sudo apt-get install -y python3-venv sudo python3 -m venv "$APP_DIR/.venv" sudo "$APP_DIR/.venv/bin/python" -m pip install --upgrade pip sudo "$APP_DIR/.venv/bin/python" -m pip install backtesting requests pandas pytest sudo mkdir -p "$APP_DIR/var" sudo chown -R okxbot:okxbot "$APP_DIR" if [ ! -f /etc/okx-codex-trader/okx.env ]; then sudo tee /etc/okx-codex-trader/okx.env >/dev/null <<'ENV' OKX_TRADING_ENV=live OKX_API_KEY= OKX_API_SECRET= OKX_API_PASSPHRASE= ENV sudo chmod 600 /etc/okx-codex-trader/okx.env fi sudo install -m 0644 "$APP_DIR/deploy/$SERVICE" "/etc/systemd/system/$SERVICE" sudo systemctl daemon-reload sudo systemctl enable "$SERVICE" sudo systemctl restart "$SERVICE" sudo systemctl status "$SERVICE" --no-pager