install_eth_nextgen_micro_observer.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. APP_DIR=/opt/okx-codex-trader
  4. SERVICE=eth-nextgen-micro-observer.service
  5. sudo useradd --system --create-home --shell /usr/sbin/nologin okxbot 2>/dev/null || true
  6. sudo mkdir -p "$APP_DIR" /etc/okx-codex-trader
  7. sudo rsync -a --delete \
  8. --exclude .git \
  9. --exclude .venv \
  10. --exclude .pytest_cache \
  11. --exclude data \
  12. --exclude var \
  13. ./ "$APP_DIR"/
  14. sudo apt-get update
  15. sudo apt-get install -y python3-venv
  16. sudo python3 -m venv "$APP_DIR/.venv"
  17. sudo "$APP_DIR/.venv/bin/python" -m pip install --upgrade pip
  18. sudo "$APP_DIR/.venv/bin/python" -m pip install backtesting requests pandas pytest
  19. sudo mkdir -p "$APP_DIR/var"
  20. sudo chown -R okxbot:okxbot "$APP_DIR"
  21. if [ ! -f /etc/okx-codex-trader/okx.env ]; then
  22. sudo tee /etc/okx-codex-trader/okx.env >/dev/null <<'ENV'
  23. OKX_TRADING_ENV=live
  24. OKX_API_KEY=
  25. OKX_API_SECRET=
  26. OKX_API_PASSPHRASE=
  27. ENV
  28. sudo chmod 600 /etc/okx-codex-trader/okx.env
  29. fi
  30. sudo install -m 0644 "$APP_DIR/deploy/$SERVICE" "/etc/systemd/system/$SERVICE"
  31. sudo systemctl daemon-reload
  32. sudo systemctl enable "$SERVICE"
  33. sudo systemctl restart "$SERVICE"
  34. sudo systemctl status "$SERVICE" --no-pager