From 241969e67857b391fd172541fcd074c2f35f3da6 Mon Sep 17 00:00:00 2001 From: Nulo Date: Tue, 26 Dec 2023 00:03:28 -0300 Subject: [PATCH] container scraper --- .dockerignore | 6 ++++++ .gitignore | 2 +- bun.lockb | Bin 224896 -> 224832 bytes db-datos/.env | 1 - db-datos/drizzle.config.ts | 1 - db-datos/migrate.ts | 10 ++++++---- db-datos/package.json | 6 ++---- scraper/.env | 1 - scraper/Containerfile | 18 ++++++++++++++++++ scraper/package.json | 2 +- scraper/scrap.ts | 3 +++ 11 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 .dockerignore delete mode 100644 db-datos/.env delete mode 100644 scraper/.env create mode 100644 scraper/Containerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..d778136 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +data/warcs/ +data/carrefour/ +*/*.db* +downloader/ +node_modules/ +*/node_modules/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7d67771..8aed687 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,4 @@ scraper/debug/ scraper/x.tsv *.tmp target/ -.env.* \ No newline at end of file +.env.* diff --git a/bun.lockb b/bun.lockb index 4e9a948e55e1efa50d1767a105e2758b0b5242ca..c9d92d9ccdec13b3e7cc818ae0166dc497309988 100755 GIT binary patch delta 23920 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 delta 23493 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