BF BotFoundry
BotFoundry / 8 Bot Blueprints / freqtrade-crypto-docker
BOTFOUNDRY FREQTRADE RUNBOOK • CGROUP MEMORYMAX & CHRONY SYNC

BotFoundry Freqtrade & FreqAI Docker MemoryMax & Chrony NTP Runbook

Standard OHLCV Freqtrade containers occupy ~0.55–0.65 GB RSS on Ubuntu 24.04, whereas rolling FreqAI LightGBM/PyTorch retraining expands pandas DataFrames across 4–12 GB RAM and 100% CPU threads. On BotFoundry, we enforce hard Docker memory limits and APAC/EU region selection to avoid HTTP 451 exchange IP blocks.

Inspect Vultr Specs for FREQ-DOCKER via BotFoundry → Compare Hostinger Tiers via BotFoundry → Load Preset in BotFoundry RAM Sizer →

BotFoundry Deterministic vCPU, RAM & Guard Matrix (BP-02 // FREQ-DOCKER)

Public rates retrieved 2026-11-12 from official vendor pricing pages cited below; promotional & renewal prices may change — always verify exact specs, term length, and renewal rates on the vendor’s official checkout page.

Concurrency Scale vCPU DDR5 RAM OS / Runtime /dev/shm & Watchdog Guard Public Tier Match (2026-11-12)
1–3 Classic OHLCV Bots 2 vCPU (3.5GHz+) 4 GB DDR5 Ubuntu 24.04 Docker mem_limit: 2.5g + chrony Vultr HF 4GB / Hostinger KVM 1
5–10 Multi-Pair Bots 3–4 vCPU KVM 8 GB DDR5 Ubuntu 24.04 Docker mem_limit: 6g + localhost UI Vultr HF 8GB / Hostinger KVM 2
FreqAI Rolling Retrain 4–8 vCPU EPYC/HF 16 GB DDR5 Ubuntu 24.04 NVMe cpuset + 4GB NVMe Swap Hostinger KVM 4 ($10.49/mo) / Vultr HF 16GB
30+ Pair Portfolio Pod 8–12 Dedicated VDS 32 GB DDR5 Ubuntu 24.04 Postgres Dedicated Threads + Zram Hostinger KVM 8 / UltaHost VDS 32GB

BotFoundry Unattended Supervisor Snippet (BP-02 // FREQ-DOCKER)

BotFoundry 4-layer RAM allocation diagram for Freqtrade Docker containers and FreqAI LightGBM retraining
BotFoundry 4-layer RAM allocation diagram for Freqtrade Docker containers and FreqAI LightGBM retraining
docker-compose.yml — BotFoundry Hardened Freqtrade Container (Localhost FreqUI + 6G Cap)
services:
  freqtrade:
    image: freqtradeorg/freqtrade:stable_freqaitorch
    restart: unless-stopped
    init: true
    container_name: bf_freqtrade_perp
    volumes:
      - "./user_data:/freqtrade/user_data"
    ports:
      - "127.0.0.1:8080:8080"
    deploy:
      resources:
        limits:
          memory: 6G
    logging:
      driver: "json-file"
      options:
        max-size: "50m"
        max-file: "3"
    command: >
      trade
      --logfile /freqtrade/user_data/logs/freqtrade.log
      --db-url sqlite:////freqtrade/user_data/tradesv3.sqlite
      --config /freqtrade/user_data/config.json
  1. 1. BotFoundry Geo-Compliance Check: Avoiding HTTP 451 Blocks with Tokyo & Singapore Nodes

    Major offshore derivatives APIs return HTTP 451 rejections to North American datacenter IP ranges. Deploying your Ubuntu 24.04 instance in Tokyo or Singapore aligns your container with Asian exchange API clusters while keeping WebSocket streams uninterrupted.

  2. 2. Stopping Linux OOM Kills During Hyperopt & FreqAI Retraining on BotFoundry

    Executing freqtrade hyperopt -j -1 on a 4 GB node alongside live leveraged positions triggers the kernel OOM killer within minutes. We size FreqAI workloads at 16 GB DDR5 minimum (such as Hostinger KVM 4) with a 6 GB container ceiling, or spin up an hourly Vultr High Frequency sandbox solely for backtesting.

  3. 3. Chrony Hardware Timestamping Prevents -1021 RecvWindow Errors in BotFoundry Setups

    HMAC-SHA256 exchange order signatures fail whenever virtualized system clocks drift past 1,000 ms. Enabling chronyd with makestep 0.1 3 on Ubuntu 24.04 keeps clock skew under a few milliseconds.

BotFoundry Troubleshooting & Sizing FAQ (BP-02 // FREQ-DOCKER)

Why does BotFoundry bind FreqUI port 8080 strictly to 127.0.0.1?

Exposing port 8080 on 0.0.0.0 invites automated credential stuffing against your live bot API. Binding to 127.0.0.1:8080 and tunneling over SSH (-L 8080:127.0.0.1:8080) or WireGuard keeps trading controls completely off the public internet.

When does BotFoundry switch Freqtrade storage from SQLite to PostgreSQL?

On local Gen4 NVMe storage (Vultr HF or Hostinger KVM), SQLite WAL handles 1 to 15 concurrent Freqtrade containers cleanly. Move to PostgreSQL 16 only when aggregating trade ledgers across 20+ bots into a shared analytics schema.

How can BotFoundry readers run heavy 32 GB Hyperopt jobs without a full-month bill?

Provision an hourly Vultr High Frequency 32 GB / 8 vCPU instance, run your multi-year Hyperopt sweep for 2–4 hours, copy the exported strategy JSON back to your main VPS, and destroy the temporary node.

Related BotFoundry Unattended Sizing Blueprints

Vultr (BP-02 BotFoundry) From $6.00/mo
Inspect Specs on BotFoundry →