Files
autofirmer-expanded/README.md
T
SenofyandClaude Sonnet 4.6 1902322627 Update README for Windows VPS setup
Switch from Ubuntu to Windows Server instructions: winget for Git/Node,
Visual Studio Build Tools for better-sqlite3 native compilation, PM2 with
pm2-windows-startup for persistence, and Windows Firewall rules.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 13:59:25 -05:00

149 lines
2.9 KiB
Markdown

# AutoFirmer
Automated futures trading dashboard for prop firm accounts via Tradovate.
---
## VPS Setup (Windows Server 2019 / 2022)
All commands are run in **PowerShell** (run as Administrator).
### 1. Install Git
Download and install from https://git-scm.com/download/win, or via winget:
```powershell
winget install --id Git.Git -e --source winget
```
Restart PowerShell after installing so `git` is on the PATH.
### 2. Install Node.js 22+
```powershell
winget install --id OpenJS.NodeJS.LTS -e --source winget
```
Restart PowerShell, then verify:
```powershell
node --version # should be v22.x or higher
npm --version
```
### 3. Install Windows Build Tools (required for better-sqlite3)
`better-sqlite3` compiles a native C++ module and needs the Visual Studio build tools:
```powershell
npm install -g windows-build-tools
```
If that fails on newer Node, install manually:
- Download **Build Tools for Visual Studio** from https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022
- During install, select **"Desktop development with C++"**
### 4. Clone the repo
```powershell
git clone https://github.com/Senofy/autofirmer.git
cd autofirmer
```
### 5. Install dependencies
```powershell
npm install
```
### 6. Build
```powershell
npm run build
```
### 7. Run
**Development (with hot reload):**
```powershell
npm run dev
```
**Production:**
```powershell
npm start
```
The app runs on **port 3000**. Access it at `http://<your-vps-ip>:3000`.
---
## First-time setup
On first run, the SQLite database (`autotrader.sqlite`) is created automatically in the project root. No migrations need to be run manually.
Open the app in your browser and add your firms through the UI:
1. Click **+ Add Firm** on the main page
2. Enter the firm name, Tradovate username, and password
3. Go to the firm's **Settings** page to configure account types (prefix, profit target, consistency %, etc.)
4. Return to the main page — accounts will populate once the firm connects to Tradovate
---
## Keeping it running (PM2)
Install PM2 globally:
```powershell
npm install -g pm2
npm install -g pm2-windows-startup
```
Start the app and save the process list:
```powershell
cd C:\path\to\autofirmer
pm2 start "npm start" --name autofirmer
pm2 save
pm2-startup install
```
To restart after pulling updates:
```powershell
cd C:\path\to\autofirmer
git pull
npm install
npm run build
pm2 restart autofirmer
```
---
## Firewall
To restrict port 3000 to a specific trusted IP only:
```powershell
New-NetFirewallRule -DisplayName "AutoFirmer" -Direction Inbound -Protocol TCP -LocalPort 3000 -RemoteAddress <your-ip> -Action Allow
```
Or open it to all inbound (less secure):
```powershell
New-NetFirewallRule -DisplayName "AutoFirmer" -Direction Inbound -Protocol TCP -LocalPort 3000 -Action Allow
```
---
## Updating
```powershell
cd C:\path\to\autofirmer
git pull
npm install # only needed if dependencies changed
npm run build
pm2 restart autofirmer
```