From b35a367ed108ff41f3e7665a07c4c4fac205a54c Mon Sep 17 00:00:00 2001 From: Kay Kaprolat Date: Tue, 7 Dec 2021 21:25:15 +0100 Subject: [PATCH 1/6] added brick-building fix --- docker-compose.yml | 10 ++++++++++ docker/brickfix.Dockerfile | 7 +++++++ 2 files changed, 17 insertions(+) create mode 100644 docker/brickfix.Dockerfile diff --git a/docker-compose.yml b/docker-compose.yml index 1c78e10..59d5583 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,6 +32,16 @@ services: volumes: - $CLIENT_PATH:/client + brickbuildfix: + container_name: DarkFlameBrickBuildFix + networks: + - darkflame + build: + context: . + dockerfile: ./docker/brickfix.Dockerfile + ports: + - 80:80 + networks: darkflame: diff --git a/docker/brickfix.Dockerfile b/docker/brickfix.Dockerfile new file mode 100644 index 0000000..1aca72c --- /dev/null +++ b/docker/brickfix.Dockerfile @@ -0,0 +1,7 @@ +# syntax=docker/dockerfile:1 +FROM python:3.9.9-slim +WORKDIR /empty_dir +EXPOSE 80 +HEALTHCHECK --interval=2m --timeout=3s \ + CMD curl -f http://localhost:80 || exit 1 +CMD python -m http.server 80 From e01a7be08e5f11183ff24559912784ab87565574 Mon Sep 17 00:00:00 2001 From: Kay Kaprolat Date: Tue, 7 Dec 2021 21:30:08 +0100 Subject: [PATCH 2/6] added AccountManager --- docker-compose.yml | 13 +++++++++++++ docker/AccountManager.Dockerfile | 15 +++++++++++++++ docker/credentials_example.py | 3 +++ docker/resources_example.py | 3 +++ 4 files changed, 34 insertions(+) create mode 100644 docker/AccountManager.Dockerfile create mode 100644 docker/credentials_example.py create mode 100644 docker/resources_example.py diff --git a/docker-compose.yml b/docker-compose.yml index 59d5583..37d2fd4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -42,6 +42,19 @@ services: ports: - 80:80 + account-manager: + container_name: DarkFlameAccountManager + build: + context: . + dockerfile: ./docker/AccountManager.Dockerfile + environment: + - DATABASE=${MARIADB_DATABASE:-darkflame} + - DATABASE_HOST=database + - DATABASE_USER=${MARIADB_USER:-darkflame} + - DATABASE_PASSWORD=${MARIADB_PASSWORD:-darkflame} + ports: + - 5000:5000 + networks: darkflame: diff --git a/docker/AccountManager.Dockerfile b/docker/AccountManager.Dockerfile new file mode 100644 index 0000000..6866379 --- /dev/null +++ b/docker/AccountManager.Dockerfile @@ -0,0 +1,15 @@ +# syntax=docker/dockerfile:1 +FROM python:3.9.9-buster + +WORKDIR /usr/local/share/ +RUN git clone https://github.com/DarkflameUniverse/AccountManager + +WORKDIR AccountManager +ADD docker/credentials_example.py credentials.py +ADD docker/resources_example.py resources.py +RUN pip3 install -r requirements.txt && echo "SECRET_KEY = r'$(openssl rand -base64 30)'" >> credentials.py + +EXPOSE 5000 +HEALTHCHECK --interval=2m --timeout=3s \ + CMD curl -f http://localhost:5000 || exit 1 +CMD python3 app.py diff --git a/docker/credentials_example.py b/docker/credentials_example.py new file mode 100644 index 0000000..60e06f1 --- /dev/null +++ b/docker/credentials_example.py @@ -0,0 +1,3 @@ +import os + +DB_URL = f'mysql+pymysql://{os.environ["DATABASE_USER"]}:{os.environ["DATABASE_PASSWORD"]}@{os.environ["DATABASE_HOST"]}/{os.environ["DATABASE"]}' diff --git a/docker/resources_example.py b/docker/resources_example.py new file mode 100644 index 0000000..652281f --- /dev/null +++ b/docker/resources_example.py @@ -0,0 +1,3 @@ +LOGO = 'logo/logo.png' +PRIVACY_POLICY = 'policy/Privacy Policy.pdf' +TERMS_OF_USE = 'policy/Terms of Use.pdf' From b46f833e235db51c561be6d7dc5717bee74892fc Mon Sep 17 00:00:00 2001 From: Kay Kaprolat Date: Tue, 7 Dec 2021 21:34:06 +0100 Subject: [PATCH 3/6] added darkflame network to brickbuildfix --- docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 37d2fd4..b629584 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -44,6 +44,8 @@ services: account-manager: container_name: DarkFlameAccountManager + networks: + - darkflame build: context: . dockerfile: ./docker/AccountManager.Dockerfile From 7a55db3f215e44d12a2b85da363052f834a0dcd6 Mon Sep 17 00:00:00 2001 From: Kay Kaprolat Date: Tue, 7 Dec 2021 22:08:53 +0100 Subject: [PATCH 4/6] moved AccountManager secret to environment --- .env.example | 4 +++- docker-compose.yml | 1 + docker/credentials_example.py | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 4abf6a3..9db3008 100644 --- a/.env.example +++ b/.env.example @@ -3,4 +3,6 @@ CLIENT_PATH=/Users/someuser/LEGO Universe # Can improve build time BUILD_THREADS=10 # Updates NET_VERSION in CMakeVariables.txt -BUILD_VERSION=171023 \ No newline at end of file +BUILD_VERSION=171023 +# make sure this is a long random string +ACCOUNT_MANAGER_SECRET= diff --git a/docker-compose.yml b/docker-compose.yml index b629584..b6a9ee3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -54,6 +54,7 @@ services: - DATABASE_HOST=database - DATABASE_USER=${MARIADB_USER:-darkflame} - DATABASE_PASSWORD=${MARIADB_PASSWORD:-darkflame} + - ACCOUNT_SECRET=${ACCOUNT_MANAGER_SECRET:?err} ports: - 5000:5000 diff --git a/docker/credentials_example.py b/docker/credentials_example.py index 60e06f1..2112fbe 100644 --- a/docker/credentials_example.py +++ b/docker/credentials_example.py @@ -1,3 +1,4 @@ import os DB_URL = f'mysql+pymysql://{os.environ["DATABASE_USER"]}:{os.environ["DATABASE_PASSWORD"]}@{os.environ["DATABASE_HOST"]}/{os.environ["DATABASE"]}' +SECRET_KEY = os.environ["ACCOUNT_SECRET"] From 2681ab3828a9c9a9f7a82160015182468a8aa692 Mon Sep 17 00:00:00 2001 From: Kay Kaprolat Date: Tue, 7 Dec 2021 22:09:54 +0100 Subject: [PATCH 5/6] removed AccountManager secret generation from Dockerfile --- docker/AccountManager.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/AccountManager.Dockerfile b/docker/AccountManager.Dockerfile index 6866379..f4ebdb3 100644 --- a/docker/AccountManager.Dockerfile +++ b/docker/AccountManager.Dockerfile @@ -7,7 +7,7 @@ RUN git clone https://github.com/DarkflameUniverse/AccountManager WORKDIR AccountManager ADD docker/credentials_example.py credentials.py ADD docker/resources_example.py resources.py -RUN pip3 install -r requirements.txt && echo "SECRET_KEY = r'$(openssl rand -base64 30)'" >> credentials.py +RUN pip3 install -r requirements.txt EXPOSE 5000 HEALTHCHECK --interval=2m --timeout=3s \ From ac20be8744af49e38e46a6217fd1c31e63bddaf8 Mon Sep 17 00:00:00 2001 From: Kay Kaprolat Date: Tue, 7 Dec 2021 22:17:18 +0100 Subject: [PATCH 6/6] moved healthchecks from Dockerfiles to docker-compose.yml --- docker-compose.yml | 12 ++++++++++++ docker/AccountManager.Dockerfile | 2 -- docker/brickfix.Dockerfile | 2 -- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b6a9ee3..3d7d30b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -41,6 +41,12 @@ services: dockerfile: ./docker/brickfix.Dockerfile ports: - 80:80 + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:80"] + interval: 2m + timeout: 3s + retries: 3 + start_period: 40s account-manager: container_name: DarkFlameAccountManager @@ -57,6 +63,12 @@ services: - ACCOUNT_SECRET=${ACCOUNT_MANAGER_SECRET:?err} ports: - 5000:5000 + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:5000"] + interval: 2m + timeout: 3s + retries: 3 + start_period: 40s networks: darkflame: diff --git a/docker/AccountManager.Dockerfile b/docker/AccountManager.Dockerfile index f4ebdb3..ea5cd1d 100644 --- a/docker/AccountManager.Dockerfile +++ b/docker/AccountManager.Dockerfile @@ -10,6 +10,4 @@ ADD docker/resources_example.py resources.py RUN pip3 install -r requirements.txt EXPOSE 5000 -HEALTHCHECK --interval=2m --timeout=3s \ - CMD curl -f http://localhost:5000 || exit 1 CMD python3 app.py diff --git a/docker/brickfix.Dockerfile b/docker/brickfix.Dockerfile index 1aca72c..20a9444 100644 --- a/docker/brickfix.Dockerfile +++ b/docker/brickfix.Dockerfile @@ -2,6 +2,4 @@ FROM python:3.9.9-slim WORKDIR /empty_dir EXPOSE 80 -HEALTHCHECK --interval=2m --timeout=3s \ - CMD curl -f http://localhost:80 || exit 1 CMD python -m http.server 80