Freqtrade Strategy

How to run freqtrade on Vultr (step by step)

Updated 31 Oct 2026 · 3 min read

Vultr is a popular choice for freqtrade because it has data centres in Tokyo and Singapore, close to where many large crypto exchanges run their trading engines, and it bills by the hour, so you can test without a long commitment. This guide takes you from a new Vultr account to a running freqtrade bot in dry-run mode.

Time needed: about 30 minutes. You need: a Vultr account, and a computer with a terminal (macOS, Linux, or Windows with PowerShell).

Step 1: Create an SSH key on your computer

SSH keys are safer than passwords. If you already have one, skip to Step 2.

ssh-keygen -t ed25519 -C "freqtrade-vultr"
cat ~/.ssh/id_ed25519.pub

Copy the line that starts with ssh-ed25519. That is your public key; the private key never leaves your computer.

Step 2: Add the key to Vultr

In the Vultr dashboard, open Account → SSH Keys, click Add SSH Key, give it a name and paste the public key.

Step 3: Deploy the server

Click Deploy and choose a new cloud server. Select:

Setting Choose
Type Cloud Compute, shared CPU
Location Tokyo or Singapore for Binance, Bybit or OKX; a European location for European exchanges
Image Ubuntu 24.04 LTS x64
Plan 2 vCPU with 2–4 GB RAM for one bot
SSH key The key you added in Step 2
Hostname freqtrade-1

Optional extras such as automatic backups cost more; a bot server can be rebuilt quickly, so most people skip them. Click Deploy Now and wait a minute until the status shows Running. Copy the server's IP address.

Before choosing a location, check that your exchange allows API access from that country. Our VPS guide explains why this matters.

Step 4: Log in and update

ssh root@YOUR_SERVER_IP
apt update && apt upgrade -y

Step 5: Create a user and lock down SSH

Running everything as root is risky. Create a normal user, give it your key, and turn off password logins:

adduser trader
usermod -aG sudo trader
rsync --archive --chown=trader:trader ~/.ssh /home/trader
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart ssh

Open a new terminal and check you can log in as the new user before closing the root session:

ssh trader@YOUR_SERVER_IP

Step 6: Firewall, time and updates

sudo ufw allow OpenSSH
sudo ufw enable
sudo timedatectl set-ntp true
sudo apt install -y unattended-upgrades

Vultr also offers a network firewall in the dashboard. Either is fine; the important part is that only SSH is open.

Step 7: Install Docker

Docker's official install script is the quickest route on Ubuntu:

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker trader

Log out and back in so the group change applies, then check:

docker --version
docker compose version

Step 8: Install and start freqtrade

mkdir ft_userdata && cd ft_userdata
curl https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml -o docker-compose.yml
docker compose pull
docker compose run --rm freqtrade create-userdir --userdir user_data
docker compose run --rm freqtrade new-config --config user_data/config.json

Answer yes to dry-run. Then add a strategy and start the bot:

curl -o user_data/strategies/AverageStrategy.py \
  https://raw.githubusercontent.com/freqtrade/freqtrade-strategies/main/user_data/strategies/berlinguyinca/AverageStrategy.py
sed -i 's/--strategy SampleStrategy/--strategy AverageStrategy/' docker-compose.yml
docker compose up -d
docker compose logs -f

Our Docker installation guide explains each of these commands in more detail. AverageStrategy is only an example; compare others in our leaderboard.

Step 9: Open FreqUI through an SSH tunnel

Keep port 8080 closed to the internet. From your own computer:

ssh -L 8080:localhost:8080 trader@YOUR_SERVER_IP

Then open http://localhost:8080 in your browser.

Step 10: Connect your exchange

When you are ready to move beyond dry-run, create an API key restricted to your Vultr server's IP address, with trading allowed and withdrawals disabled. Our Bybit setup guide covers this step by step, and our Telegram guide shows how to get trade alerts on your phone.

Costs to expect

You pay for the server by the hour, up to a monthly cap, plus normal exchange trading fees. Destroying the server stops billing; simply powering it off does not. Check the current price of your chosen plan in the Vultr dashboard before deploying.

Ready to connect an exchange?

Freqtrade needs an exchange account with API access. Bybit supports both spot and futures in freqtrade and offers a demo mode for testing.

Affiliate link: we may earn a commission if you sign up, at no cost to you.

Related guides