From e8e05b687671d222a99e2b937077b364c6ed3649 Mon Sep 17 00:00:00 2001 From: Ashton Honnecke Date: Mon, 9 Sep 2019 09:24:40 -0600 Subject: [PATCH 1/7] split docker composes --- docker-compose.develop.yml | 19 +++++++++++++++++++ docker-compose.prod.yml | 8 ++++++++ docker-compose.yml | 1 + scripts/pytest.sh | 5 +++++ 4 files changed, 33 insertions(+) create mode 100644 docker-compose.develop.yml create mode 100644 docker-compose.prod.yml create mode 120000 docker-compose.yml create mode 100755 scripts/pytest.sh diff --git a/docker-compose.develop.yml b/docker-compose.develop.yml new file mode 100644 index 000000000..4dfdb9357 --- /dev/null +++ b/docker-compose.develop.yml @@ -0,0 +1,19 @@ +--- +version: '3' +services: + freqtrade_develop: + build: + context: . + dockerfile: "./Dockerfile" + volumes: + - ".:/freqtrade" + + pytest: + build: + context: . + dockerfile: "./Dockerfile.develop" + volumes: + - ".:/freqtrade" + command: + ["./scripts/pytest.sh"] + diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 000000000..cae98c3ee --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,8 @@ +--- +version: '3' +services: + freqtrade: + image: freqtradeorg/freqtrade:master + volumes: + - "./user_data:/freqtrade/user_data" + - "./config.json:/freqtrade/config.json" diff --git a/docker-compose.yml b/docker-compose.yml new file mode 120000 index 000000000..945318087 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1 @@ +docker-compose.prod.yml \ No newline at end of file diff --git a/scripts/pytest.sh b/scripts/pytest.sh new file mode 100755 index 000000000..e05ff1ad0 --- /dev/null +++ b/scripts/pytest.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +echo "Running Unit tests" + +pytest --random-order --cov=freqtrade --cov-config=.coveragerc freqtrade/tests/ From 7c6921c743c3f6b17a9e3a4b8c5c49e8d3d23535 Mon Sep 17 00:00:00 2001 From: Ashton Honnecke Date: Mon, 23 Sep 2019 13:17:20 -0600 Subject: [PATCH 2/7] pr feedback regarding docker-compose naming --- LOCAL.md | 30 ++++++++++++++++++++++++++++++ docker-compose.develop.yml | 10 ---------- docker-compose.prod.yml | 8 -------- docker-compose.yml | 9 ++++++++- 4 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 LOCAL.md delete mode 100644 docker-compose.prod.yml mode change 120000 => 100644 docker-compose.yml diff --git a/LOCAL.md b/LOCAL.md new file mode 100644 index 000000000..9172520b1 --- /dev/null +++ b/LOCAL.md @@ -0,0 +1,30 @@ +# Local development + +The fastest and easiest way to start up is to use docker-compose.develop which gives developers the ability to start the bot up with all the required dependencies, *without* needing to install any freqtrade specific dependencies on your local machine. + +# Install +## git +``` bash +sudo apt install git +``` + +## docker +``` bash +sudo apt install docker +``` + +## docker-compose +``` bash +sudo apt install docker-compose +``` +# Starting the bot +## Develop dockerfile +``` bash +rm docker-compose.yml && mv docker-compose.develop.yml docker-compose.yml +``` + +## Docker Compose up + +``` bash +docker-compose up +``` diff --git a/docker-compose.develop.yml b/docker-compose.develop.yml index 4dfdb9357..bbf20b3f3 100644 --- a/docker-compose.develop.yml +++ b/docker-compose.develop.yml @@ -2,18 +2,8 @@ version: '3' services: freqtrade_develop: - build: - context: . - dockerfile: "./Dockerfile" - volumes: - - ".:/freqtrade" - - pytest: build: context: . dockerfile: "./Dockerfile.develop" volumes: - ".:/freqtrade" - command: - ["./scripts/pytest.sh"] - diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml deleted file mode 100644 index cae98c3ee..000000000 --- a/docker-compose.prod.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -version: '3' -services: - freqtrade: - image: freqtradeorg/freqtrade:master - volumes: - - "./user_data:/freqtrade/user_data" - - "./config.json:/freqtrade/config.json" diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 120000 index 945318087..000000000 --- a/docker-compose.yml +++ /dev/null @@ -1 +0,0 @@ -docker-compose.prod.yml \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..cae98c3ee --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +--- +version: '3' +services: + freqtrade: + image: freqtradeorg/freqtrade:master + volumes: + - "./user_data:/freqtrade/user_data" + - "./config.json:/freqtrade/config.json" From 5c3fb4d5b3d6f2463cfd8665ff139d43aab02f70 Mon Sep 17 00:00:00 2001 From: Ashton Honnecke Date: Mon, 23 Sep 2019 13:30:55 -0600 Subject: [PATCH 3/7] docs for running docker-compose locally --- LOCAL.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/LOCAL.md b/LOCAL.md index 9172520b1..db0f66d66 100644 --- a/LOCAL.md +++ b/LOCAL.md @@ -23,8 +23,16 @@ sudo apt install docker-compose rm docker-compose.yml && mv docker-compose.develop.yml docker-compose.yml ``` -## Docker Compose up +## Docker Compose + +## Starting ``` bash docker-compose up ``` +![Docker compose up](https://user-images.githubusercontent.com/419355/65456322-47f63a80-de06-11e9-90c6-3c74d1bad0b8.png) + +### Rebuilding +``` bash +docker-compose build +``` From cb6e136893afec50d9c148fc3d34ed5b38d74cab Mon Sep 17 00:00:00 2001 From: Ashton Honnecke Date: Mon, 23 Sep 2019 13:35:18 -0600 Subject: [PATCH 4/7] how to exec --- LOCAL.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/LOCAL.md b/LOCAL.md index db0f66d66..ce9808034 100644 --- a/LOCAL.md +++ b/LOCAL.md @@ -36,3 +36,13 @@ docker-compose up ``` bash docker-compose build ``` + +### Execing (effectively SSH into the container) + +The `exec` command requires that the container already be running, if you want to start it +that can be effected by `docker-compose up` or `docker-compose run freqtrade_develop` + +``` bash +docker-compose exec freqtrade_develop /bin/bash +``` +![image](https://user-images.githubusercontent.com/419355/65456522-ba671a80-de06-11e9-9598-df9ca0d8dcac.png) From fe483ad011804644921702c5ee97aa3f91ea3715 Mon Sep 17 00:00:00 2001 From: Ashton Honnecke Date: Tue, 24 Sep 2019 09:03:44 -0600 Subject: [PATCH 5/7] Don't use the develop dockerfile for local --- docker-compose.develop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.develop.yml b/docker-compose.develop.yml index bbf20b3f3..3e3bf4833 100644 --- a/docker-compose.develop.yml +++ b/docker-compose.develop.yml @@ -4,6 +4,6 @@ services: freqtrade_develop: build: context: . - dockerfile: "./Dockerfile.develop" + dockerfile: "./Dockerfile" volumes: - ".:/freqtrade" From 11bb7e520c1ad1dfa3775b1a3834007a251e8300 Mon Sep 17 00:00:00 2001 From: Ashton Honnecke Date: Thu, 26 Sep 2019 09:22:49 -0600 Subject: [PATCH 6/7] use .develop dockerfile, move docs to develop.md, add freqtrade_bash --- LOCAL.md | 48 -------------------------------------- docker-compose.develop.yml | 13 ++++++++++- docs/developer.md | 42 ++++++++++++++++++++++++++++++++- 3 files changed, 53 insertions(+), 50 deletions(-) delete mode 100644 LOCAL.md diff --git a/LOCAL.md b/LOCAL.md deleted file mode 100644 index ce9808034..000000000 --- a/LOCAL.md +++ /dev/null @@ -1,48 +0,0 @@ -# Local development - -The fastest and easiest way to start up is to use docker-compose.develop which gives developers the ability to start the bot up with all the required dependencies, *without* needing to install any freqtrade specific dependencies on your local machine. - -# Install -## git -``` bash -sudo apt install git -``` - -## docker -``` bash -sudo apt install docker -``` - -## docker-compose -``` bash -sudo apt install docker-compose -``` -# Starting the bot -## Develop dockerfile -``` bash -rm docker-compose.yml && mv docker-compose.develop.yml docker-compose.yml -``` - -## Docker Compose - -## Starting - -``` bash -docker-compose up -``` -![Docker compose up](https://user-images.githubusercontent.com/419355/65456322-47f63a80-de06-11e9-90c6-3c74d1bad0b8.png) - -### Rebuilding -``` bash -docker-compose build -``` - -### Execing (effectively SSH into the container) - -The `exec` command requires that the container already be running, if you want to start it -that can be effected by `docker-compose up` or `docker-compose run freqtrade_develop` - -``` bash -docker-compose exec freqtrade_develop /bin/bash -``` -![image](https://user-images.githubusercontent.com/419355/65456522-ba671a80-de06-11e9-9598-df9ca0d8dcac.png) diff --git a/docker-compose.develop.yml b/docker-compose.develop.yml index 3e3bf4833..562b5960a 100644 --- a/docker-compose.develop.yml +++ b/docker-compose.develop.yml @@ -4,6 +4,17 @@ services: freqtrade_develop: build: context: . - dockerfile: "./Dockerfile" + dockerfile: "./Dockerfile.develop" volumes: - ".:/freqtrade" + entrypoint: + - "freqtrade" + + freqtrade_bash: + build: + context: . + dockerfile: "./Dockerfile.develop" + volumes: + - ".:/freqtrade" + entrypoint: + - "/bin/bash" diff --git a/docs/developer.md b/docs/developer.md index b048cf93f..926b8e3d8 100644 --- a/docs/developer.md +++ b/docs/developer.md @@ -38,8 +38,48 @@ def test_method_to_test(caplog): assert log_has("This event happened", caplog) # Check regex with trailing number ... assert log_has_re(r"This dynamic event happened and produced \d+", caplog) + ``` +### Local docker usage + +The fastest and easiest way to start up is to use docker-compose.develop which gives developers the ability to start the bot up with all the required dependencies, *without* needing to install any freqtrade specific dependencies on your local machine. + +#### Install +* [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) +* [docker](https://docs.docker.com/install/) +* [docker-compose](https://docs.docker.com/compose/install/) + +#### Starting the bot +##### Use the develop dockerfile +``` bash +rm docker-compose.yml && mv docker-compose.develop.yml docker-compose.yml +``` +#### Docker Compose + +##### Starting + +``` bash +docker-compose up +``` +![Docker compose up](https://user-images.githubusercontent.com/419355/65456322-47f63a80-de06-11e9-90c6-3c74d1bad0b8.png) + +##### Rebuilding +``` bash +docker-compose build +``` + +##### Execing (effectively SSH into the container) + +The `exec` command requires that the container already be running, if you want to start it +that can be effected by `docker-compose up` or `docker-compose run freqtrade_develop` + +``` bash +docker-compose exec freqtrade_develop /bin/bash +``` +![image](https://user-images.githubusercontent.com/419355/65456522-ba671a80-de06-11e9-9598-df9ca0d8dcac.png) + + ## Modules ### Dynamic Pairlist @@ -182,7 +222,7 @@ git log --oneline --no-decorate --no-merges master..develop Once the PR against master is merged (best right after merging): * Use the button "Draft a new release" in the Github UI (subsection releases) -* Use the version-number specified as tag. +* Use the version-number specified as tag. * Use "master" as reference (this step comes after the above PR is merged). * Use the above changelog as release comment (as codeblock) From 0680fe2a1a130dc5463e5783af06bee5fa3c3647 Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 10 Oct 2019 19:28:11 +0200 Subject: [PATCH 7/7] fix path to tests --- scripts/pytest.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/pytest.sh b/scripts/pytest.sh index e05ff1ad0..d2ad223e7 100755 --- a/scripts/pytest.sh +++ b/scripts/pytest.sh @@ -2,4 +2,4 @@ echo "Running Unit tests" -pytest --random-order --cov=freqtrade --cov-config=.coveragerc freqtrade/tests/ +pytest --random-order --cov=freqtrade --cov-config=.coveragerc tests/