diff --git a/.gitignore b/.gitignore index aec46093d..92bdded11 100644 --- a/.gitignore +++ b/.gitignore @@ -68,7 +68,7 @@ test-results*.xml .env/ build_helpers/ config_examples/ -docker/ +docker/* !docker/Dockerfile.MoniGoMani docs/ freqtrade/ diff --git a/.hurry b/.hurry index fa2815bb3..dfacc95d5 100644 --- a/.hurry +++ b/.hurry @@ -14,3 +14,4 @@ config: mgm-config-hyperopt: mgm-config-hyperopt.json mgm-config-private: mgm-config-private.json timerange: 20210501-20210616 + \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..772274952 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,28 @@ +--- +version: '3' +services: + freqtrade-mgm: + # image: freqtradeorg/freqtrade:stable + # image: freqtradeorg/freqtrade:develop + # Use plotting image + # image: freqtradeorg/freqtrade:develop_plot + # Build step - only needed when additional dependencies are needed + build: + context: "." + dockerfile: "./docker/Dockerfile.MoniGoMani" + restart: unless-stopped + container_name: freqtrade-mgm + volumes: + - "./user_data:/freqtrade/user_data" + + # Expose api on port 8080 (localhost only) + # Please read the https://www.freqtrade.io/en/latest/rest-api/ documentation + # before enabling this. + ports: + - 8080:8080 + # Default command used when running `docker compose up` + command: > + trade + --logfile /freqtrade/user_data/logs/freqtrade.log + --config /freqtrade/user_data/mgm-config.json + --config /freqtrade/user_data/mgm-config-private.json diff --git a/docker/Dockerfile.MoniGoMani b/docker/Dockerfile.MoniGoMani new file mode 100644 index 000000000..b1657e4d6 --- /dev/null +++ b/docker/Dockerfile.MoniGoMani @@ -0,0 +1,28 @@ +FROM freqtradeorg/freqtrade:latest as base + +# System prerequisites +USER root +RUN apt-get update \ + && apt-get -y install build-essential libblas3 liblapack3 liblapack-dev libblas-dev libatlas-base-dev libxml2-dev libxslt-dev \ + libssl-dev python3-dev gcc gfortran g++ git python3-venv libfreetype6-dev expect libffi-dev cmake \ + && apt-get clean +# build latest libgit2 v1.4.x for pygit2 +RUN git clone --depth=1 -b v1.4.2 https://github.com/libgit2/libgit2.git ~/libgit2_src +RUN cd ~/libgit2_src && cmake . -DBUILD_CLAR=OFF -DCMAKE_BUILD_TYPE=Release -DEMBED_SSH_PATH=~/libssh2_src -DCMAKE_INSTALL_PREFIX=~/libgit2 +RUN cd ~/libgit2_src && cmake --build . --target install +RUN cp -r ~/libgit2/* /usr/bin +RUN cp -r ~/libgit2/* /usr/local + +# MGM prerequisites +USER ftuser +RUN pip3 install --upgrade pip +RUN pip3 install --user --no-cache-dir finta scipy pyaml scikit-optimize fire matplotlib quantstats art inquirerpy distro pygit2 yaspin logger discord_webhook + +# Install MGM +RUN git clone https://github.com/Rikj000/MoniGoMani.git +RUN cp -r MoniGoMani/* . && rm -rf MoniGoMani/ +COPY --chown=ftuser:ftuser .hurry /freqtrade + +ENTRYPOINT ["freqtrade"] +# Default to trade mode +CMD [ "trade" ] diff --git a/pyenv.bashrc b/pyenv.bashrc new file mode 100644 index 000000000..46baddb44 --- /dev/null +++ b/pyenv.bashrc @@ -0,0 +1,5 @@ + +export PATH="$HOME/.pyenv/bin:$PATH" +eval "$(pyenv init -)" +eval "$(pyenv virtualenv-init -)" +