Installation
This page walks you through installing Botmarley on your machine. By the end, you will have the bot running and accessible in your browser.
What You Need Before Starting
Botmarley is distributed as a pre-built binary. The only external dependency is PostgreSQL for data storage.
| Prerequisite | Why | How to check |
|---|---|---|
| PostgreSQL 15+ | Stores all bot state, trades, and logs. | psql --version |
The easiest way to run PostgreSQL is with Docker:
| Optional | Why | How to check |
|---|---|---|
| Docker | Run PostgreSQL in a container (no manual install). | docker --version |
| Docker Compose | Orchestrates the PostgreSQL container. | docker compose version |
If you already have PostgreSQL 15+ running on your system, you can use that instead of Docker. See the Environment Variables page for how to configure a custom database connection.
Installing Docker
If you do not have Docker installed:
macOS:
brew install --cask docker
Ubuntu/Debian Linux:
sudo apt update
sudo apt install docker.io docker-compose-v2
Windows:
Download and install Docker Desktop for Windows.
Download Botmarley
Download the latest release for your platform:
| Archive | Platform |
|---|---|
botmarley-arm64.tar.gz | Linux ARM64 — AWS Graviton, Raspberry Pi |
botmarley-amd64.tar.gz | Linux x86_64 — Most servers, Intel/AMD desktops |
botmarley-macos-arm64.tar.gz | macOS Apple Silicon (M1/M2/M3/M4) |
botmarley-windows-amd64.tar.gz | Windows x64 |
Not sure which one you need?
- Linux: Run
uname -m.aarch64→ ARM64,x86_64→ AMD64 - macOS: Use the Apple Silicon build (all modern Macs since late 2020)
- Windows: Use the Windows x64 build
Extract the Archive
Linux / macOS:
# Replace with your downloaded archive name
tar -xzf botmarley-arm64.tar.gz
cd botmarley
Windows (PowerShell):
tar -xzf botmarley-windows-amd64.tar.gz
cd botmarley
This creates the following files:
| Path | Purpose |
|---|---|
server (or server.exe on Windows) | The Botmarley binary |
templates/ | Web interface templates |
static/ | CSS, JavaScript, and images |
Initialize Botmarley
Before running for the first time, initialize the data directory:
Linux / macOS:
./server init
Windows (PowerShell):
.\server.exe init
This creates ~/.botmarley/ (or %USERPROFILE%\.botmarley\ on Windows) with:
- Default
settings.tomlconfiguration - Built-in trading strategies
- Example strategies for learning
- Data directories for market history
You only need to run init once. If the data directory already exists, the command will skip files that are already present and only add missing ones.
Start PostgreSQL
Botmarley stores all its state in PostgreSQL. The quickest way to get started is with Docker:
docker run -d \
--name botmarley-db \
-e POSTGRES_USER=botmarley \
-e POSTGRES_PASSWORD=botmarley_dev \
-e POSTGRES_DB=botmarley \
-p 5432:5432 \
postgres:17
If you prefer Docker Compose, create a docker-compose.yml with a postgres service, or use the one from the Production Deployment guide.
Verify the database is running:
docker ps | grep botmarley-db
Run Botmarley
Linux / macOS:
./server
Windows (PowerShell):
.\server.exe
Botmarley initializes the database schema on first run and starts listening on port 3000.
Verify the Installation
Open your browser and navigate to:
http://localhost:3000
You will see the license setup page. Follow the instructions in First Run to configure your API key and start trading.
If you see a connection error, check that:
- PostgreSQL is running:
docker ps - The server started without errors in the terminal
- Port 3000 is not already in use by another application
Stopping Botmarley
To stop the server, press Ctrl+C in the terminal where it is running.
To stop PostgreSQL:
docker stop botmarley-db
Your PostgreSQL data persists inside the Docker volume. Running docker stop keeps your data. To wipe the database and start fresh, run docker rm botmarley-db and create a new container.
Next Steps
With Botmarley running, continue to First Run for a guided walkthrough of the initial setup — including license activation and exchange configuration.