From 6bbecdce2a08255d52dc4c055ff79bc62f6a457c Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Fri, 18 Feb 2022 23:33:32 +0100 Subject: [PATCH] refactor: improve usage with Docker --- .dockerignore | 8 ++++++++ .gitignore | 10 ++++------ metaenv/Dockerfile => Dockerfile | 12 +++++++----- caches/forge_cache/.keep | 0 caches/forgemaven/.keep | 0 caches/http_cache/.keep | 0 docker-compose.yaml | 12 ++++++++++++ docker.sh | 5 ----- enumerateForge.py | 6 +++--- updateFabric.py | 2 +- updateForge.py | 2 +- updateLiteloader.py | 2 +- updateMojang.py | 2 +- 13 files changed, 38 insertions(+), 23 deletions(-) create mode 100644 .dockerignore rename metaenv/Dockerfile => Dockerfile (57%) create mode 100644 caches/forge_cache/.keep create mode 100644 caches/forgemaven/.keep create mode 100644 caches/http_cache/.keep create mode 100644 docker-compose.yaml delete mode 100755 docker.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..0e4358c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +.git/ + +caches/ +__pycache__/ +public/ + +polymc/ +upstream/ diff --git a/.gitignore b/.gitignore index 121f6aa..d1af514 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,8 @@ public/*/ -http_cache +caches/ +!caches/*/.keep +__pycache__ +config_local.sh polymc upstream -forgemaven -forge_cache -__pycache__ -*.kdev4 -config_local.sh diff --git a/metaenv/Dockerfile b/Dockerfile similarity index 57% rename from metaenv/Dockerfile rename to Dockerfile index 06f4295..acab040 100644 --- a/metaenv/Dockerfile +++ b/Dockerfile @@ -1,12 +1,14 @@ FROM python:3.10.2-bullseye -RUN pip install cachecontrol iso8601 requests lockfile jsonobject - -RUN apt update && apt install -y rsync +RUN pip install cachecontrol iso8601 requests lockfile jsonobject \ + && apt-get update && apt-get install -y rsync RUN useradd -Ud /app user - USER user - WORKDIR /app +COPY . . + +ENV MODE=master + +CMD ["/bin/bash", "update.sh"] diff --git a/caches/forge_cache/.keep b/caches/forge_cache/.keep new file mode 100644 index 0000000..e69de29 diff --git a/caches/forgemaven/.keep b/caches/forgemaven/.keep new file mode 100644 index 0000000..e69de29 diff --git a/caches/http_cache/.keep b/caches/http_cache/.keep new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..de510b4 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,12 @@ +version: "3" + +services: + meta: + build: . + environment: + MODE: master + volumes: + - "./caches:/app/caches" + - "./upstream:/app/upstream" + - "./polymc:/app/polymc" + - "./public:/app/public" diff --git a/docker.sh b/docker.sh deleted file mode 100755 index d41f4bf..0000000 --- a/docker.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -docker build metaenv -t metaenv - -docker run -it --rm -e MODE=master -v $(pwd):/app metaenv:latest ./update.sh - diff --git a/enumerateForge.py b/enumerateForge.py index 4b65d2b..4c2371d 100755 --- a/enumerateForge.py +++ b/enumerateForge.py @@ -109,13 +109,13 @@ for entry in forgeVersions.versions: for entry in forgeVersion.mavenFiles: urlSet.add(GetLibraryDownload(entry)) -forever_cache = FileCache('forge_cache', forever=True) +forever_cache = FileCache('caches/forge_cache', forever=True) sess = CacheControl(requests.Session(), forever_cache) for entry in urlSet: libraryName = entry.name - folderPath = "forgemaven/%s" % libraryName.getBase() - filePath = "forgemaven/%s" % libraryName.getPath() + folderPath = "caches/forgemaven/%s" % libraryName.getBase() + filePath = "caches/forgemaven/%s" % libraryName.getPath() if not os.path.isfile(filePath): os.makedirs(folderPath, exist_ok=True) rfile = sess.get(entry.url, stream=True) diff --git a/updateFabric.py b/updateFabric.py index 9f8cc9a..51ae9ca 100755 --- a/updateFabric.py +++ b/updateFabric.py @@ -11,7 +11,7 @@ from fabricutil import * UPSTREAM_DIR = os.environ["UPSTREAM_DIR"] -forever_cache = FileCache('http_cache', forever=True) +forever_cache = FileCache('caches/http_cache', forever=True) sess = CacheControl(requests.Session(), forever_cache) def mkdirs(path): diff --git a/updateForge.py b/updateForge.py index b76c1df..6242471 100755 --- a/updateForge.py +++ b/updateForge.py @@ -32,7 +32,7 @@ def filehash(filename, hashtype, blocksize=65536): hash.update(block) return hash.hexdigest() -forever_cache = FileCache('http_cache', forever=True) +forever_cache = FileCache('caches/http_cache', forever=True) sess = CacheControl(requests.Session(), forever_cache) # get the remote version list fragments diff --git a/updateLiteloader.py b/updateLiteloader.py index ee87ea5..07ab0d0 100755 --- a/updateLiteloader.py +++ b/updateLiteloader.py @@ -18,7 +18,7 @@ UPSTREAM_DIR = os.environ["UPSTREAM_DIR"] def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) -forever_cache = FileCache('http_cache', forever=True) +forever_cache = FileCache('caches/http_cache', forever=True) sess = CacheControl(requests.Session(), forever_cache) diff --git a/updateMojang.py b/updateMojang.py index 1749b60..db2f014 100755 --- a/updateMojang.py +++ b/updateMojang.py @@ -8,7 +8,7 @@ from metautil import * UPSTREAM_DIR = os.environ["UPSTREAM_DIR"] -forever_cache = FileCache('http_cache', forever=True) +forever_cache = FileCache('caches/http_cache', forever=True) sess = CacheControl(requests.Session(), forever_cache) def get_version_file(path, url):