Contact/Support on Telegram: https://t.me/+kwyeyrmjQ-lkYTJk
Join one of my copytrading to support: https://manicpt.streamlit.app/
I offer API-Service where I run passivbot for you as a Service. Just contact me on Telegram for more information.
- Changelog index:
CHANGELOG.md - Current development notes:
releases/unreleased.md - Technical version source:
pbgui_purefunc.py→PBGUI_VERSION
Passivbot GUI (pbgui) is a WEB Interface for Passivbot programed in python with streamlit
It has the following functions:
- Running, backtesting, and optimization Passivbot v7 and v6 (single and multi).
- Installing Passivbot configurations on your VPS.
- Starting and stopping Passivbot instances on your VPS.
- Moving instances between your VPS.
- Monitoring your instances and restarting them if they crash.
- A dashboard for viewing trading performance.
- Pareto Explorer for exploring optimizer results (Pareto front, correlations, 2D/3D plots, config inspection, start backtests, generate optimize configs with goal/risk presets).
- An interface to CoinMarketCap for selecting and filtering coins.
- Installing and updating your VPS with just a few clicks.
- And much more to easily manage Passivbot.
- Python 3.12 (default)
- Streamlit 1.54.0
- Linux
- Master Server: Linux with 32GB of memory and 8 CPUs.
- VPS for Running Passivbot: Minimum specifications of 1 CPU, 1GB Memory, and 10GB SSD.
I currently recommend IONOS.
For IONOS open Server -> vServer (VPS) -> Linux VPS.
For normal VPS bots I currently suggest VPS S+ with 2 vCores CPU, 2 GB RAM and 80 GB NVMe.
For a remote master I currently suggest VPS M+ with 4 vCores CPU, 4 GB RAM and 120 GB NVMe.
If you like to support pbgui, please join one of my copytradings:
If you don't have an bybit account, please use my Referral Code: XZAJLZ https://www.bybit.com/invite?ref=XZAJLZ
Here are all my copytradings and statistics of them: https://manicpt.streamlit.app/
Step 1: Get a Linux VPS from IONOS. Please use my referral link
- Select
Server->vServer (VPS)->Linux VPS - For normal VPS bots I currently suggest
VPS S+with 2 vCores CPU, 2 GB RAM and 80 GB NVMe - For a remote master I currently suggest
VPS M+with 4 vCores CPU, 4 GB RAM and 120 GB NVMe - For optimization you need a bigger system like
VPS XL+,VPS XXL+or a dedicated server. - Install the VPS with Ubuntu 24.04
Step 2: Connect to your new VPS and run Initial Setup
- Add your VPS IP and VPN IP to your hosts (/etc/hosts)
Syntax:
<ip> <hostname>
10.8.0.1 <hostname>-vpn
Example:
87.106.x.x manibot01
10.8.0.1 manibot01-vpn
- Connect with ssh to your new VPS and login as root with the temporary root pw
ssh root@<hostname>
# Setup hostname and user. Disable root login
bash <(curl -sL https://raw.githubusercontent.com/msei99/pbgui/refs/heads/main/setup/master_vps_init.sh) <hostname> <user>
Step 3: Connect as new user and Setup PBGui Master by running this commands
# Disconnect as root
exit
# ssh to your vps
ssh <user>@<hostname>
# Create swap
bash <(curl -sL https://raw.githubusercontent.com/msei99/pbgui/refs/heads/main/setup/setup_swap.sh) <size>
# Setup openvpn
bash <(curl -sL https://raw.githubusercontent.com/msei99/pbgui/refs/heads/main/setup/setup_openvpn.sh)
# Setup google-authenticator and add QR code to your TOTP App
bash <(curl -sL https://raw.githubusercontent.com/msei99/pbgui/refs/heads/main/setup/setup_totp.sh)
cat /home/mani/GA-QR.txt
# Setup Firewall
The Firewall Setup can be run in 3 ways.
1. Default — allow SSH from everywhere (low secure)
bash <(curl -sL https://raw.githubusercontent.com/msei99/pbgui/refs/heads/main/setup/setup_firewall.sh)
2. VPN-only SSH access (high secure)
bash <(curl -sL https://raw.githubusercontent.com/msei99/pbgui/refs/heads/main/setup/setup_firewall.sh) -i
3. Specific IPs + VPN
bash <(curl -sL https://raw.githubusercontent.com/msei99/pbgui/refs/heads/main/setup/setup_firewall.sh) -i 1.2.3.4,1.2.3.5
# Setup PBGui
bash <(curl -sL https://raw.githubusercontent.com/msei99/pbgui/refs/heads/main/install.sh)
# Setup crontab for autostart
bash <(curl -sL https://raw.githubusercontent.com/msei99/pbgui/refs/heads/main/setup/setup_autostart.sh)
Step 5: Setup OpenVPN Client
- Get .ovpn
scp <hostanme>:/home/<user>/<user>_client/<user>.ovpn .
- Import the ovpn to your OpenVPN Client
Step 6: Connect your VPN
- Use the GUI or connect from shell with
sudo openvpn --config <user>.ovpn
Step 7: Connect to PBGui
- Now you are ready to connect to PBGui by open this url: http://-vpn:8501/
There is an Ubuntu install.sh for PBGui + PB7. It works on Ubuntu 24.04 and only adds Deadsnakes when python3.12-venv is not available from the current distro repositories.
curl -L https://raw.githubusercontent.com/msei99/pbgui/refs/heads/main/install.sh | bash
Clone pbgui and passivbot v7
git clone https://github.com/msei99/pbgui.git
git clone https://github.com/enarjord/passivbot.git pb7
Create virtual environments
python3.12 -m venv venv_pb7
python3.12 -m venv venv_pbgui
Install requirements for pb7 and pbgui
source venv_pb7/bin/activate
cd pb7
pip install --upgrade pip
pip install -r requirements.txt
cd passivbot-rust/
sudo apt-get install rustc
sudo apt-get install cargo
maturin develop --release
deactivate
cd ../..
source venv_pbgui/bin/activate
cd pbgui
pip install --upgrade pip
pip install -r requirements.txt
Want to use Docker instead? See the actively maintained community Docker project dreamelite96/pbgui-docker.
It is an independent Docker integration for current PBGui and Passivbot v7 releases and replaces the previous Docker link in this README.
streamlit run pbgui.py
Open http://localhost:8501 with Browser
Password = PBGui$Bot!
Change Password in file: .streamlit/secrets.toml
On First Run, you have to select your passivbot and venv directories
For the venv you have to enter the full path to python.
Example path for venv_pb7: /home/mani/software/venv_pb7/bin/python
Select Master on Welcome Screen if this System is used to send configs to VPS
To enable the PBGui instance manager in the GUI, you can follow these steps:
- Open the PBGui interface.
- Go to Services and enable PBRun
To ensure that the Instance Manager starts after rebooting your server, you can use the following method:
- Create a script file, such as "start.sh", in your pbgui directory (e.g., ~/software/pbgui).
- In the script file, include the following lines:
#!/usr/bin/bash
venv=~/software/pb_env # Path to your Python virtual environment
pbgui=~/software/pbgui # Path to your PBGui installation
source ${venv}/bin/activate
cd ${pbgui}
python PBRun.py &
- Save the script file and make it executable by running the command:
chmod 755 start.sh. - Open your crontab file by running the command:
crontab -e. - Add the following line to the crontab file to execute the script at reboot:
@reboot ~/software/pbgui/start.sh
- Save the crontab file.
Please make sure to adjust the paths in the script file and crontab entry according to your specific setup.
This is only needed if you trade spot and have some statistics Actually, the best way to enable PBStat is by adding the following line to your start.sh script:
python PBStat.py &
This command will run the PBStat.py script in the background, allowing it to collect statistics.
Actually, the best way to enable PBData is by adding the following line to your start.sh script:
python PBData.py &
This command will run the PBData.py in the background and filling the database for the dashboard
You can install rclone and configure bucket using PBGui. Go to Services/PBRemote/Show Details.
With PBRemote, you can efficiently manage passivbot instances on multiple servers directly from your PC. This includes starting, stopping, removing, and syncing instances from and to your servers. PBRemote utilizes rclone to establish communication via cloud storage with your servers. The advantage is that you do not need to open any incoming firewall ports on your PC or servers. Additionally, all your passivbot config data is securely transferred and stored on your preferred cloud storage provider. rclone supports over 70 cloud storage providers, you can find more information at https://rclone.org/. Manual install rclone, you can use the following command:
sudo -v ; curl https://rclone.org/install.sh | sudo bash
As a recommendation, Synology C2 Object Storage offers a reliable option. They provide 15GB of free storage, and you can sign up at https://c2.synology.com/en-uk/object-storage/overview. After registration, create your bucket using your own unique name. Please note that using "pbgui" as a bucket name will not work, as it has already been chosen by me. Or do a manual Setup: Configure rclone on your PC and servers by following the steps below: Manual Rclone configuration (Synology):
rclone config create <bucket_name> s3 provider=Synology region=eu-002 endpoint=eu-002.s3.synologyc2.net no_check_bucket=true access_key_id=<key> secret_access_key=<secret>
You need to configure pbgui.ini with a minimum of this settings on your VPS. Example pbgui.ini (replace parameters with your own correct settings).
[main]
pb7dir = /home/mani/software/pb7
pb7venv = /home/mani/software/venv_pb7/bin/python
pbname = manibot50
[pbremote]
bucket = pbgui:
There is no need to install or run streamlit on your Remote Server. Start PBRun.py and PBRemote using the start.sh script.
With PBCoinData, you can download CoinMarketCap data for symbols and use this data to maintain your ignored_symbols and ignored_coins. You can filter out low market cap symbols or use vol/mcap to detect possible rug pulls early.
You need to configure the pbgui.ini file with a minimum of the following settings on your VPS. Here is an example of pbgui.ini (replace the parameters with your own correct settings):
[coinmarketcap]
api_key = <your_api_key>
fetch_limit = 1000
fetch_interval = 4
With these settings, PBCoinData will fetch the top 1000 symbols every 4 hours. You will need around 930 credits per month with this configuration. A Basic Free Plan from CoinMarketCap provides 10,000 credits per month, allowing you to run 1 master and 9 VPS instances with the same API key. Start PBCoinData.py using the start.sh script.
Copy the start.bat.example to start.bat Edit pbguipath in the start.bat to your pbgui installation path Add start.bat to Windows Task Scheduler and use Trigger "At system startup"
- Telegram https://t.me/+kwyeyrmjQ-lkYTJk
- Passivbot https://www.passivbot.com/en/latest/
- Streamlit https://streamlit.io/



