Raspberry Pi

OpenAlgo on Raspberry Pi — Setup Guide

This guide helps you install and configure OpenAlgo on Raspberry Pi models 3, 4, or 5 (4GB+ RAM), preferably running Ubuntu 24.04+ server edition.

Hardware & OS Recommendations

  • Raspberry Pi Model: 3, 4, or 5 (minimum 4GB RAM)

  • SD Card: Recommended 128GB; minimum 64GB

  • Operating System: Ubuntu 24.04+ Server edition (preferred)

  • RPi official power adapter: Recommended to buy for stable power supply and avoid RPi abrupt shutdowns and restarts. Get Ubuntu images for Raspberry Pi

Initial System Preparation

1. Flash OS to SD Card

  • Use Raspberry Pi Imager to prepare your SD card.

  • Configure initial user, password, Wi-Fi details, etc.

2. First Boot & Access

  • Insert SD card, power on Raspberry Pi.

  • Connect HDMI to monitor/TV and USB keyboard or get the private IP from your router/AP and SSH to RPi instance :

3. Setup Swap

  • Recommend swap size: max 4GB, min 2GB

OpenAlgo Installation

Option 1: Using Official Install Script

  • Follow the script prompts. (Typically involves downloading, running the script, and entering your details.)

1. Install Docker (Ubuntu/ARM)

Docker Ubuntu install guide

2. Install Docker Buildx for ARM

docker buildx version

If not present, follow: https://docs.docker.com/buildx/working-with-buildx/#install-buildx

3. Get nginx Docker Image (reverse proxy)

docker pull nginx:latest

4. Clone the OpenAlgo Repo

5. Build OpenAlgo Docker Image

docker build -t openalgo:latest .

6. Configure Environment

  • Copy .sample.env as .env and fill in broker API key, secret, and client ID

7. Use docker-compose.yaml

  • Edit/verify docker-compose.yaml inside /openalgo

  • If you have build the docker image in previous step, you can comment the build and its nested tags (using #) in docker-compose.yaml file.

  • Launch services:

8. Configure Nginx Reverse Proxy

I prefer to separate out the runtime files and folders from the github cloned folder and keep them separate. So if you build the docker image as in above step #5, you can very well take the docker-compose.yaml in a separate working folder structure and have your own versions of .env file.

  • Create and mount volumes under /work for logs, keys, strategies, etc.

  • Update docker-compose.yaml example:

Securing your setup

A. Basic Server Protection (iptables, fail2ban)

1. Install iptables

2. Install fail2ban

B. Using Cloudflare for Reverse Proxy & Security

  • Register at Cloudflare.

  • Add Your Domain:

    • Point your domain's DNS to Cloudflare's nameservers.

    • Set up proxy status for your domain so Cloudflare sits between users and your Pi.

  • HTTPS and SSL:

    • Use Cloudflare’s “Flexible SSL” or, for end-to-end encryption, generate origin certificates on Cloudflare and install them behind Nginx.

  • Firewall Rules & Monitoring:

  • Analytics & DDoS Protection:

    • Monitor connection health and traffic patterns through Cloudflare Analytics.


Useful References

OpenAlgo is now ready on your Raspberry Pi! Start building and deploying your trading strategies.

Last updated

Was this helpful?