From 6a36b1e15d3dae746d57b64f0aaf169db5649e2c Mon Sep 17 00:00:00 2001 From: ovosimpatico Date: Sun, 27 Oct 2024 22:26:21 -0300 Subject: [PATCH] Move generated files to the data folder to persist on docker --- .github/workflows/docker-publish.yml | 4 ++-- docker-compose.yml | 2 +- lib/filehandler.js | 32 +++++++++++++++++----------- server.js | 4 ++-- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index c89e013..bd51bc7 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -2,8 +2,8 @@ name: Build and Publish Docker Image on: push: - # branches: - # - main + branches: + - main jobs: build: diff --git a/docker-compose.yml b/docker-compose.yml index b5d859b..df8f72f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.8' services: myrient-search: - build: . + image: ghcr.io/alexankitty/myrient-search-engine:latest ports: - "8062:8062" environment: diff --git a/lib/filehandler.js b/lib/filehandler.js index 9fc2903..d49aa8c 100644 --- a/lib/filehandler.js +++ b/lib/filehandler.js @@ -1,5 +1,6 @@ import { readFile, writeFile } from "fs/promises"; import fs from "fs"; +import path from "path"; export default class FileHandler { static async parseJsonFile(filePath) { @@ -12,14 +13,16 @@ export default class FileHandler { } static async saveJsonFile(filePath, fileArr) { - let data = await JSON.stringify(fileArr); - await writeFile(filePath, data, (err) => { - if (err) { - console.error(err); - } else { - console.log(`Successfully saved file list to ${filePath}.`); - } - }); + try { + // Ensure directory exists + await fs.promises.mkdir(path.dirname(filePath), { recursive: true }); + + let data = await JSON.stringify(fileArr); + await writeFile(filePath, data); + console.log(`Successfully saved file list to ${filePath}.`); + } catch (err) { + console.error(err); + } } static fileExists(filePath) { @@ -43,10 +46,13 @@ export default class FileHandler { } static async writeFile(filePath, data) { - await writeFile(filePath, data, (err) => { - if (err) { - console.error(err); - } - }); + try { + // Ensure directory exists + await fs.promises.mkdir(path.dirname(filePath), { recursive: true }); + + await writeFile(filePath, data); + } catch (err) { + console.error(err); + } } } diff --git a/server.js b/server.js index 1dce01a..b789963 100644 --- a/server.js +++ b/server.js @@ -11,8 +11,8 @@ import debugPrint from "./lib/debugprint.js"; import compression from "compression"; import { generateAsciiArt } from './lib/asciiart.js'; -let fileListPath = "./filelist.json"; -let queryCountFile = "./queries.txt"; +let fileListPath = "./data/filelist.json"; +let queryCountFile = "./data/queries.txt"; let categoryListPath = "./lib/categories.json" let searchAlikesPath = './lib/searchalikes.json' let categoryList = await FileHandler.parseJsonFile(categoryListPath);