Move generated files to the data folder to persist on docker

This commit is contained in:
ovosimpatico
2024-10-27 22:26:21 -03:00
parent 7a21d8989c
commit 6a36b1e15d
4 changed files with 24 additions and 18 deletions

View File

@@ -2,8 +2,8 @@ name: Build and Publish Docker Image
on: on:
push: push:
# branches: branches:
# - main - main
jobs: jobs:
build: build:

View File

@@ -2,7 +2,7 @@ version: '3.8'
services: services:
myrient-search: myrient-search:
build: . image: ghcr.io/alexankitty/myrient-search-engine:latest
ports: ports:
- "8062:8062" - "8062:8062"
environment: environment:

View File

@@ -1,5 +1,6 @@
import { readFile, writeFile } from "fs/promises"; import { readFile, writeFile } from "fs/promises";
import fs from "fs"; import fs from "fs";
import path from "path";
export default class FileHandler { export default class FileHandler {
static async parseJsonFile(filePath) { static async parseJsonFile(filePath) {
@@ -12,14 +13,16 @@ export default class FileHandler {
} }
static async saveJsonFile(filePath, fileArr) { static async saveJsonFile(filePath, fileArr) {
let data = await JSON.stringify(fileArr); try {
await writeFile(filePath, data, (err) => { // Ensure directory exists
if (err) { await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
console.error(err);
} else { let data = await JSON.stringify(fileArr);
console.log(`Successfully saved file list to ${filePath}.`); await writeFile(filePath, data);
} console.log(`Successfully saved file list to ${filePath}.`);
}); } catch (err) {
console.error(err);
}
} }
static fileExists(filePath) { static fileExists(filePath) {
@@ -43,10 +46,13 @@ export default class FileHandler {
} }
static async writeFile(filePath, data) { static async writeFile(filePath, data) {
await writeFile(filePath, data, (err) => { try {
if (err) { // Ensure directory exists
console.error(err); await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
}
}); await writeFile(filePath, data);
} catch (err) {
console.error(err);
}
} }
} }

View File

@@ -11,8 +11,8 @@ import debugPrint from "./lib/debugprint.js";
import compression from "compression"; import compression from "compression";
import { generateAsciiArt } from './lib/asciiart.js'; import { generateAsciiArt } from './lib/asciiart.js';
let fileListPath = "./filelist.json"; let fileListPath = "./data/filelist.json";
let queryCountFile = "./queries.txt"; let queryCountFile = "./data/queries.txt";
let categoryListPath = "./lib/categories.json" let categoryListPath = "./lib/categories.json"
let searchAlikesPath = './lib/searchalikes.json' let searchAlikesPath = './lib/searchalikes.json'
let categoryList = await FileHandler.parseJsonFile(categoryListPath); let categoryList = await FileHandler.parseJsonFile(categoryListPath);