From ec677cc41c7e000ac1e6f65727226bf48007eaa0 Mon Sep 17 00:00:00 2001 From: olli Date: Mon, 23 Sep 2024 11:26:18 +0200 Subject: [PATCH] install documentation/playbooks --- README.md | 58 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 304c049..81a5918 100644 --- a/README.md +++ b/README.md @@ -119,23 +119,61 @@ Originally this project was supposed to be a simple script to monitor prices of Finally, it's a hobby project and I have to see how and when I can find time for it, because there also has to be time for family, friends, work and other hobbies. If there is someone who would like to rewrite this bot in e.g. Python, I would be happy to support them as best I can with this task. Just let me know. -## How to use/install -Linux knowledge required! +## How to use/install (basic Linux knowledge required!) -Needed a running Docker install. Traefik suggested, see +Should run on every system with docker. -https://gitea.ds9.dedyn.io/olli/debian.ansible.docker +### 1: Operating System +Tested and running with Debian 12 (Bookworm). +https://www.debian.org/download +https://www.raspberrypi.com/software/operating-systems/ -https://gitea.ds9.dedyn.io/olli/debian.ansible.traefik.server +### 2: Run Ansible Playbooks +On a clean Debian 12 system ypu can run my Ansible Playbooks to use the same environment the bot is developed and running. +Please have a look what exactly the playbooks are doing if you are unsure. +#### 2.1 Download basic install script +``` +wget https://gitea.ds9.dedyn.io/olli/debian.ansible.basics/raw/branch/main/install.sh +``` +#### 2.2 define Playbooks +- debian.ansible.basics (https://gitea.ds9.dedyn.io/olli/debian.ansible.basics) - Basic Debian configuration +- Optional: debian.ansible.firewall (https://gitea.ds9.dedyn.io/olli/debian.ansible.firewall) - Firewall for the server based on ufw +- Optional: debian.ansible.runchecks (https://gitea.ds9.dedyn.io/olli/debian.ansible.runchecks) - System checks and notification +- Optional: debian.ansible.backup (https://gitea.ds9.dedyn.io/olli/debian.ansible.backup/src/branch/main/backup.yml) - Backup framework +- Optional: debian.ansible.autoupdate (https://gitea.ds9.dedyn.io/olli/debian.ansible.autoupdate) - Automatic System Updates +- debian.ansible.docker (https://gitea.ds9.dedyn.io/olli/debian.ansible.docker/src/branch/main/docker.yml) - Docker Installation +- debian.ansible.traefik.server (https://gitea.ds9.dedyn.io/olli/debian.ansible.traefik.server) - Traefik Reverse Proxy for Web UI and Letsencrypt Certs +- Optional: debian.ansible.turn.server (https://gitea.ds9.dedyn.io/olli/debian.ansible.turn.server) - Turn Server fpr Audio/Video conferences in Matrix +- Optional: debian.ansible.matrix.server (https://gitea.ds9.dedyn.io/olli/debian.ansible.matrix.server) - Notifications with own Martix Server +- dabo: The Bot itself +for example: +``` +PLAYBOOKS="debian.ansible.basics + debian.ansible.firewall + debian.ansible.runchecks + debian.ansible.backup + debian.ansible.autoupdate + debian.ansible.docker + debian.ansible.traefik.server + debian.ansible.turn.server + debian.ansible.matrix.server + dabo +" +export PLAYBOOKS +``` +#### 2.3 Install ansible and run Playbooks +bash install.sh ### Download +Not necessary if you use the dabo Playbook ``` git clone https://gitea.ds9.dedyn.io/olli/dabo.git cd dabo ``` ### Build container +Not necessary if you use the dabo Playbook ``` docker -l warn compose --ansi never build --progress=plain --pull --no-cache --force-rm ``` @@ -281,6 +319,7 @@ docker compose logs -f ``` Update: +Not necessary if you use the playbooks ``` # Optinal: Remove local data git reset --hard HEAD^ # Remove local commits @@ -290,17 +329,8 @@ git clean -fd # Remove local uncommited files git pull https://gitea.ds9.dedyn.io/olli/dabo.git main -f docker compose down docker compose up -d - ``` - -dabo-bot.sh is the bot that trades and collects the quotes and analyze.sh is the tool with which you can try out strategies with the historical data. -The configuration files are called dabo-bot.conf and analyze.conf. analyze.sh also uses bot.conf but its variables are overwritten by analyze.conf if duplicated. - -A Binance or OneTrading.com (ex BitpandaPro) account must exist and the API must be enabled. -The access data is stored in the file .binance-secrets in the project directory in the variables API_SECRET and API_KEY. -The access rights to this file should be set to the minimum necessary for security reasons. - ## Strategies You can put your own code into the strategies it will be sourced by the bot.