Setup guide · on a small rented server

Your laptop can close.
The server does not.

A server is a computer you rent by the month that lives in a data centre and never sleeps. This is what the founder's own account runs on. Here is the whole of it, written for someone who has never rented one and has never typed a command.

An elder wizard connects a laptop to a small server at his workbench, with a phone beside it
The Algo-wizard handles installation. You keep control of the account.
If the words below mean nothing to you, that is what the Algo-wizard is for. The $100 setup is the wizard: one command on your own computer rents the server and does everything on this page, and you never type on the server. The rest of this page shows what it does, and how to do it by hand if you would rather.
The honest part first

One tap a week, forever.

Interactive Brokers signs every session out about once a week. The server types your username and password back in by itself, but the two-factor prompt still goes to your phone, in the IBKR app. You tap approve. If nobody taps, the gateway waits at the login screen and the engine, unable to read the account, trades nothing. That tap, and the server’s bill, are the ongoing cost of this path; the rest is set once.

The short way

The Algo-wizard rents the server and sets it up.

The package has a cloud command, the Algo-wizard. Run it on your own computer and it rents a small DigitalOcean server (2 GB, about $12 a month, billed by the hour), copies the package to it, installs the broker's gateway, takes your Interactive Brokers login once, joins the server to your Tailscale network and leaves the console running for your phone. You never open the server's black window. It is safe to stop and run again; it continues from where it stopped.

Any host works: rent Ubuntu with 2 GB anywhere and follow the by-hand steps further down. We automated DigitalOcean first because its API is simple enough to drive from one command, its control panel is the friendliest we have seen for a first server, and it bills by the hour, so a mistake costs cents. That is the whole reason. We are not paid to prefer it, though we earn a commission if you sign up through our link.

Advertising disclosure: we earn a commission at no additional cost to you when you shop through the links below.

  1. Your computerStart the wizard. Review the server price before it creates anything.
  2. Your serverThe wizard installs the package, gateway and nightly schedule.
  3. Your brokerEnter your login yourself. Approve the IBKR prompt on your phone.
  4. Your phoneJoin Tailscale and open the console. Setup starts unarmed.
Before you start

Your unzipped package, a DigitalOcean account with a payment card, your IBKR login and phone (the wizard asks whether the account is cash or margin; an IRA with IRA margin is margin), and a Tailscale account. Keep credentials private.

01

Create your DigitalOcean token.

On DigitalOcean, add a payment card, open API and generate a token named distillate with Full Access. Copy it when it appears.

What you should see

Your token is ready to paste into the wizard. Never send it to support.

About token access

Full Access can do anything your account can through the DigitalOcean API. The wizard uses it for one server, one SSH key and one firewall. Destroy removes the server and firewall, keeping the key. You can revoke the token on DigitalOcean.

02

Start on your own computer.

Download and unzip your purchased package. Open a terminal in the extracted folder containing algomist_core.py, then run the command below. Paste your token when asked; hidden input will not appear.

$ python3 algomist_core.py cloud STEP 1 of 8 · Your DigitalOcean token Token: paste it; nothing appears as you paste
python3 algomist_core.py cloud
What you should see

The wizard asks where to put your server. You have not approved creating it yet.

Cannot find the file or Python?

If the terminal says it cannot open algomist_core.py, check that you opened it inside the extracted package folder. If python3 is not found, Python needs to be installed or located before this command can run. Send support the error text, never your token or password.

03

Read the price. Then create.

Choose a location and read the price returned by DigitalOcean. Only confirm if the plan and ongoing bill are right for you.

STEP 3 of 8 · The server Choose a number [1]: New York is fine; the strategy does not care About to create, on YOUR DigitalOcean account: provider DigitalOcean plan Basic droplet · 1 CPU · 2 GB memory · 50 GB disk system Ubuntu 24.04 where New York cost $12.00 a month ($0.018 an hour), billed by the hour by DigitalOcean. It stops once `python3 algomist_core.py cloud destroy` confirms the deletion. Nothing is paid to us. Create it now? (y/n) [y]: the price is read from DigitalOcean at that moment
What you should see

After you confirm, the server is created on your DigitalOcean account and billing begins.

Stopping setup does not stop the bill

To remove the server, run python3 algomist_core.py cloud destroy from the same package folder. Billing stops once DigitalOcean confirms deletion. Closing your terminal alone does not delete the server.

04

Connect your broker. Approve on your phone.

Enter your own IBKR login and choose paper or live deliberately. The password is hidden; the username is visible. Approve the IBKR Mobile prompt when it arrives. Installation can take five to ten minutes.

STEP 6 of 8 · Your Interactive Brokers login, then the install IB username: IB password: paper or live [paper]: the password is typed hidden; the username shows
What you should see

Broker login must be connected. A running gateway alone does not prove you are signed in.

If the wizard says “PAUSED, not finished”

Run python3 algomist_core.py cloud again to resume and correct the login, or cloud destroy using the full command below to remove the server. The server continues billing while paused. Never share your broker password with support.

PAUSED, not finished. missing a broker login IBKR accepts; then this joins Tailscale and finishes your phone console to go on python3 algomist_core.py cloud to stop python3 algomist_core.py cloud destroy
05

Join Tailscale. Open your console.

Follow the Tailscale sign-in link opened by the wizard and approve the server. Install Tailscale on your phone, sign in with the same account and turn it on. Open the console link printed by the wizard.

What you should see

Your phone opens the operator console through Tailscale. Keep that private link to yourself.

The console link will not open?

Check that Tailscale is connected on your phone and that it uses the account that approved the server. Run the status command below: Tailscale must be joined and the console must be installed. Follow the status output before retrying.

06

Check readiness. Stay unarmed while you learn.

Run the status command. Check each component separately, then watch the dry-run reports. Review account mode and the proposed trades before making a separate decision to arm.

What you should see

A schedule can exist while trading remains unarmed. Unarmed reports place no orders.

What does a paused run actually show?

Read line by line; every one must be ready before you arm. A rejected login looks like this:

$ python3 algomist_core.py cloud status Gateway running Broker login REJECTED by IBKR (wrong username or password). Run the setup again and type it again Tailscale not joined yet Console not installed yet Nightly run scheduled Trading dry-run, unarmed: it reports and places nothing
The long way

By hand, at any host.

The same result at a host of your choosing, typed into the server's own window. This is what the command above does for you; it is here so you can see it, or do it yourself if you like this sort of thing.

Pick a plain x86-64 Linux box with at least 2 GB of memory and Ubuntu 22.04 or newer. Not an ARM plan and not a Raspberry Pi: the broker's gateway will not run on those. Do not buy anything bigger; this does almost nothing all day and then places one order.

Advertising disclosure: we earn a commission at no additional cost to you when you shop through the links below.

The six steps, by hand

Rent the box.

Five minutes of clicking at any of these. Prices are what the host charges you; we never touch the server.

Hostinger — KVM 1US locations; $6.49 only if you prepay two years, $12 after~$6.50–12/mo
DigitalOcean — 2GBfriendliest control panel~$12/mo
AWS Lightsail — 2GBif you already have AWS~$12/mo
Picked DigitalOcean? The exact clicks.
  1. Sign up at digitalocean.com (affiliate link) and add a card. New accounts are often offered a starting credit; check the terms on the day.
  2. Press the green Create button at the top, then Droplets.
  3. Region: New York or San Francisco. Image: Ubuntu, the newest LTS.
  4. Size: Basic, then Regular, then the 2 GB / 1 CPU / 50 GB row at $12 a month. Not the $6 row; the broker’s gateway needs the memory.
  5. Authentication: Password. Type one and keep it; the console will ask for it. Skip SSH keys.
  6. Leave backups, monitoring and volumes off. Press Create Droplet.
  7. When it shows a green dot, open it and press Console at the top right. Log in as root with the password you chose. That black window is where the next steps happen.

Choose Ubuntu as the operating system and the smallest plan with 2 GB. When the form asks about an SSH key, skip it: every host on this list gives you a Console button on the server's page that opens a black window in your browser, and that window is all you need. Location does not matter: the engine places one market order a day.

Open the server's window and get the package onto it.

On your host's website, open the server you just made and press Console. A black window appears with a blinking cursor: anything you type there runs on the server, not on your computer. That window is the only tool this whole page uses. (People who already know SSH can use it instead; nothing here requires it.)

Your invitation email contains one line that fetches the package to the server. Paste it into that window and press Enter. It looks like this:

$ curl -fsSL "https://algomistlabs.io/dl/your-private-link" -o distillate.zip && unzip -q distillate.zip && cd the-distillate-*

Pasting into that window: on a Mac, Command-V; on Windows, right-click. If it types nothing, the window needs a click first.

Run the one installer.

$ bash headless/headless_setup.sh installing packages · IB Gateway (offline build) · IBC · the service · the nightly schedule ... Now the one step it must not do for you: your IB login. sudo nano /opt/ibc/config.ini # IbLoginId, IbPassword; the file is locked to your user

One pasted line. It installs the broker's gateway, the small program that types your login for you, the service that keeps them running, and the nightly schedule, and prints what it is doing as it goes; about ten minutes, mostly downloads. It stops at the one thing it must not do: your password. The line it prints opens a small text editor in the same window; you type your Interactive Brokers username and password on the two marked lines, press Control-O then Enter to save, Control-X to leave. That file is readable by you alone, and nobody helping you set this up ever needs to see it. It sets up paper trading first, on purpose; switching to live is a separate decision later.

Approve the first login on your phone.

$ sudo systemctl restart ibc-gateway → the IBKR app on your phone asks you to approve; tap it $ python3 algomist_core.py doctor OK broker connected · PAPER account · port 4002

This is the tap you will repeat about once a week, and after any reboot.

Reach the console from your phone, from anywhere.

A server has no wifi to share, so the phone path is Tailscale, a free private network between your own devices. Three steps, once:

$ curl -fsSL https://tailscale.com/install.sh | sh && sudo tailscale up → it prints a login link; open it once, on any device, and sign in

Then install the Tailscale app on your phone (iPhone · Android), sign in with the same account, and switch it on. Start the console with python3 algomist_core.py operator, press Watch from your phone, and it shows one code that works from anywhere. Only devices signed into your Tailscale account can reach it.

Watch for a week. Then arm.

$ python3 algomist_core.py report # today's plan, trades nothing $ python3 algomist_core.py arm # asks you to confirm

Arming is bound to the connection you armed. When you later switch the gateway from paper to live, port 4002 to 4001, it refuses to trade and asks you to arm again, because agreeing to trade the paper account is not agreeing to trade the real one.

Bought the setup? Then the Algo-wizard does this whole page for you, and you never touch the black window. Doing it yourself and stuck: support@10ktrials.com reaches a person.

The Distillate is independent software. It is not affiliated with, endorsed by or sponsored by Interactive Brokers; you open and hold your own account, and the software connects to it on your computer.