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.

PrerequisiteWhyHow to check
PostgreSQL 15+Stores all bot state, trades, and logs.psql --version

The easiest way to run PostgreSQL is with Docker:

OptionalWhyHow to check
DockerRun PostgreSQL in a container (no manual install).docker --version
Docker ComposeOrchestrates the PostgreSQL container.docker compose version

Tip

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:

Download Latest Release

ArchivePlatform
botmarley-arm64.tar.gzLinux ARM64 — AWS Graviton, Raspberry Pi
botmarley-amd64.tar.gzLinux x86_64 — Most servers, Intel/AMD desktops
botmarley-macos-arm64.tar.gzmacOS Apple Silicon (M1/M2/M3/M4)
botmarley-windows-amd64.tar.gzWindows x64

Note

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:

PathPurpose
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.toml configuration
  • Built-in trading strategies
  • Example strategies for learning
  • Data directories for market history

Note

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

Tip

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.

Danger

If you see a connection error, check that:

  1. PostgreSQL is running: docker ps
  2. The server started without errors in the terminal
  3. 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

Tip

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.