From e024fc987f653adca5f3bd2a25332a57ef2677b9 Mon Sep 17 00:00:00 2001 From: Georges-Antoine Assi Date: Tue, 12 Mar 2024 02:07:31 +0000 Subject: [PATCH 1/2] bind redis data volume --- docker/Dockerfile | 7 ++++--- docker/init_scripts/init | 2 +- examples/docker-compose.example.yml | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 669affde3..b1bb5e9df 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -122,9 +122,6 @@ RUN wget -O redis.tar.gz "$REDIS_DOWNLOAD_URL"; \ redis-server --version; \ echo '{"spdxVersion":"SPDX-2.3","SPDXID":"SPDXRef-DOCUMENT","name":"redis-server-sbom","packages":[{"name":"redis-server","versionInfo":"7.2.4","SPDXID":"SPDXRef-Package--redis-server","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:generic/redis-server@7.2.4?os_name=alpine&os_version=3.19"}],"licenseDeclared":"BSD-3-Clause"}]}' > /usr/local/redis.spdx.json -RUN mkdir /redis-data && chown 1000:1000 /redis-data -VOLUME /redis-data - # cleanup additional build dependencies RUN apk del \ gcc \ @@ -157,6 +154,10 @@ COPY --from=production-stage / / RUN addgroup -g 1000 -S romm && adduser -u 1000 -D -S -G romm romm RUN mkdir /romm && chown 1000:1000 /romm -R +# Create data volume for redis +RUN mkdir /redis-data && chown 1000:1000 /redis-data +VOLUME /redis-data + # Expose ports and start EXPOSE 8080 EXPOSE 6379/tcp diff --git a/docker/init_scripts/init b/docker/init_scripts/init index 9db5c9f58..d9cc41b56 100755 --- a/docker/init_scripts/init +++ b/docker/init_scripts/init @@ -63,7 +63,7 @@ start_bin_redis-server () { if [ -f /usr/local/etc/redis/redis.conf ]; then redis-server /usr/local/etc/redis/redis.conf & else - redis-server & + redis-server --dir /redis-data & fi REDIS_PID=$! echo $REDIS_PID > /tmp/redis-server.pid diff --git a/examples/docker-compose.example.yml b/examples/docker-compose.example.yml index fa5980f9b..de8984a2c 100644 --- a/examples/docker-compose.example.yml +++ b/examples/docker-compose.example.yml @@ -21,6 +21,7 @@ services: - ROMM_AUTH_PASSWORD= # default: admin volumes: - romm_resources:/romm/resources # Resources fetched from IGDB (covers, screenshots, etc.) + - romm_redis_data:/redis-data # Cached data for background tasks - /path/to/library:/romm/library # Your game library - /path/to/assets:/romm/assets # Uploaded saves, states, etc. - /path/to/config:/romm/config # [Optional] Path where config.yml is stored From af56074b72ada8a797012e35f886bcabb8f4e54f Mon Sep 17 00:00:00 2001 From: Georges-Antoine Assi Date: Tue, 12 Mar 2024 09:56:22 -0400 Subject: [PATCH 2/2] fix endpoint running tests manually --- .gitignore | 1 + backend/endpoints/tasks.py | 26 +++++++++----------------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 93aad4671..2edc11460 100644 --- a/.gitignore +++ b/.gitignore @@ -50,6 +50,7 @@ backend/romm_test/resources backend/romm_test/logs backend/romm_test/config .pytest_cache +/romm_test # service worker frontend/dev-dist diff --git a/backend/endpoints/tasks.py b/backend/endpoints/tasks.py index e8921726f..3ea7a731e 100644 --- a/backend/endpoints/tasks.py +++ b/backend/endpoints/tasks.py @@ -7,32 +7,27 @@ from tasks.update_switch_titledb import update_switch_titledb_task router = APIRouter() -@protected_route(router.post, "/tasks", ["tasks.run"]) -async def run_tasks(request: Request, action: str) -> MessageResponse: +@protected_route(router.post, "/tasks/run", ["tasks.run"]) +async def run_tasks(request: Request) -> MessageResponse: """Run all tasks endpoint Args: request (Request): Fastapi Request object - action: Action to perform on tasks Returns: RunTasksResponse: Standard message response """ - if action == "run": - await update_mame_xml_task.run() - await update_switch_titledb_task.run() - return {"msg": f"All tasks {action} successfully!"} - - return {"msg": "No action performed on tasks"} + await update_mame_xml_task.run() + await update_switch_titledb_task.run() + return {"msg": "All tasks ran successfully!"} -@protected_route(router.post, "/tasks/{task}", ["tasks.run"]) -async def run_task(request: Request, task: str, action: str) -> MessageResponse: +@protected_route(router.post, "/tasks/{task}/run", ["tasks.run"]) +async def run_task(request: Request, task: str) -> MessageResponse: """Run all tasks endpoint Args: request (Request): Fastapi Request object - action: Action to perform on tasks Returns: RunTasksResponse: Standard message response """ @@ -42,8 +37,5 @@ async def run_task(request: Request, task: str, action: str) -> MessageResponse: "switch_titledb": update_switch_titledb_task } - if action == "run": - await tasks[task].run() - return {"msg": f"Task {task} {action} successfully!"} - - return {"msg": "No action performed on task {task}"} \ No newline at end of file + await tasks[task].run() + return {"msg": f"Task {task} run successfully!"}