From d7b6792d0562e97454d622180b1f4bb4fa8a4eae Mon Sep 17 00:00:00 2001 From: alikia2x Date: Tue, 29 Apr 2025 03:45:43 +0800 Subject: [PATCH] add: basic docker config --- .gitignore | 10 ++++++- deno.json | 7 +---- packages/frontend/.dockerignore | 6 +++++ packages/frontend/.gitignore | 4 +-- packages/frontend/Dockerfile | 27 +++++++++++++++++++ packages/frontend/bun.lock | 10 +++---- packages/frontend/deno.json | 8 ------ packages/frontend/package.json | 2 +- .../frontend/src/pages/song/[id]/info.astro | 2 ++ 9 files changed, 51 insertions(+), 25 deletions(-) create mode 100644 packages/frontend/.dockerignore create mode 100644 packages/frontend/Dockerfile delete mode 100644 packages/frontend/deno.json diff --git a/.gitignore b/.gitignore index fdf0294..c990962 100644 --- a/.gitignore +++ b/.gitignore @@ -84,4 +84,12 @@ scripts model/ -.astro \ No newline at end of file +.astro + +# Database +*.dump +*.db +*.sqlite +*.sqlite3 +db/ +data/ \ No newline at end of file diff --git a/deno.json b/deno.json index 9104dd2..20c75ba 100644 --- a/deno.json +++ b/deno.json @@ -1,6 +1,6 @@ { "lock": false, - "workspace": ["./packages/crawler", "./packages/frontend", "./packages/backend", "./packages/core"], + "workspace": ["./packages/crawler", "./packages/core"], "nodeModulesDir": "auto", "tasks": { "crawler": "deno task --filter 'crawler' all", @@ -12,10 +12,5 @@ "indentWidth": 4, "semiColons": true, "proseWrap": "always" - }, - "imports": { - "@astrojs/node": "npm:@astrojs/node@^9.1.3", - "@astrojs/svelte": "npm:@astrojs/svelte@^7.0.8", - "date-fns": "npm:date-fns@^4.1.0" } } diff --git a/packages/frontend/.dockerignore b/packages/frontend/.dockerignore new file mode 100644 index 0000000..faf0664 --- /dev/null +++ b/packages/frontend/.dockerignore @@ -0,0 +1,6 @@ +node_modules +.git +.DS_Store +build +.astro +.output \ No newline at end of file diff --git a/packages/frontend/.gitignore b/packages/frontend/.gitignore index 016b59e..d07634c 100644 --- a/packages/frontend/.gitignore +++ b/packages/frontend/.gitignore @@ -20,5 +20,5 @@ pnpm-debug.log* # macOS-specific files .DS_Store -# jetbrains setting folder -.idea/ +# Docker compose +docker-compose.yml \ No newline at end of file diff --git a/packages/frontend/Dockerfile b/packages/frontend/Dockerfile new file mode 100644 index 0000000..58f5940 --- /dev/null +++ b/packages/frontend/Dockerfile @@ -0,0 +1,27 @@ +FROM oven/bun AS bun-builder + +WORKDIR /app + +COPY package.json bun.lock tsconfig.json astro.config.mjs ./ + +RUN bun install + +COPY . . + +RUN bun run build + +FROM node:lts-alpine + +WORKDIR /app + +COPY --from=bun-builder /app/dist ./dist +COPY --from=bun-builder /app/node_modules ./node_modules +COPY --from=bun-builder /app/package.json ./package.json + + +ENV HOST=0.0.0.0 +ENV PORT=4321 + +EXPOSE 4321 + +CMD ["node", "dist/server/entry.mjs"] \ No newline at end of file diff --git a/packages/frontend/bun.lock b/packages/frontend/bun.lock index 8cceee4..1f01bae 100644 --- a/packages/frontend/bun.lock +++ b/packages/frontend/bun.lock @@ -6,11 +6,11 @@ "dependencies": { "@astrojs/node": "^9.1.3", "@astrojs/svelte": "^7.0.9", - "@astrojs/tailwind": "^6.0.2", "@tailwindcss/vite": "^4.1.4", "argon2id": "^1.0.1", "astro": "^5.5.5", "autoprefixer": "^10.4.21", + "date-fns": "^4.1.0", "pg": "^8.11.11", "postcss": "^8.5.3", "svelte": "^5.25.7", @@ -39,8 +39,6 @@ "@astrojs/svelte": ["@astrojs/svelte@7.0.9", "", { "dependencies": { "@sveltejs/vite-plugin-svelte": "^5.0.3", "svelte2tsx": "^0.7.35", "vite": "^6.2.4" }, "peerDependencies": { "astro": "^5.0.0", "svelte": "^5.1.16", "typescript": "^5.3.3" } }, "sha512-EpJfDh7eelYEj/zSwgSHdqJCx6YjiZmpVDEiNjxhnrBwM6Ll7hjllTrNQyfnv7KgJwaVo2SOSz6d1MwV52/T/w=="], - "@astrojs/tailwind": ["@astrojs/tailwind@6.0.2", "", { "dependencies": { "autoprefixer": "^10.4.21", "postcss": "^8.5.3", "postcss-load-config": "^4.0.2" }, "peerDependencies": { "astro": "^3.0.0 || ^4.0.0 || ^5.0.0", "tailwindcss": "^3.0.24" } }, "sha512-j3mhLNeugZq6A8dMNXVarUa8K6X9AW+QHU9u3lKNrPLMHhOQ0S7VeWhHwEeJFpEK1BTKEUY1U78VQv2gN6hNGg=="], - "@astrojs/telemetry": ["@astrojs/telemetry@3.2.0", "", { "dependencies": { "ci-info": "^4.1.0", "debug": "^4.3.7", "dlv": "^1.1.3", "dset": "^3.1.4", "is-docker": "^3.0.0", "is-wsl": "^3.1.0", "which-pm-runs": "^1.1.0" } }, "sha512-wxhSKRfKugLwLlr4OFfcqovk+LIFtKwLyGPqMsv+9/ibqqnW3Gv7tBhtKEb0gAyUAC4G9BTVQeQahqnQAhd6IQ=="], "@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], @@ -349,6 +347,8 @@ "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], + "date-fns": ["date-fns@4.1.0", "", {}, "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg=="], + "debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="], "decode-named-character-reference": ["decode-named-character-reference@1.1.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w=="], @@ -543,8 +543,6 @@ "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.29.2", "", { "os": "win32", "cpu": "x64" }, "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA=="], - "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], - "locate-character": ["locate-character@3.0.0", "", {}, "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA=="], "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], @@ -719,8 +717,6 @@ "postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="], - "postcss-load-config": ["postcss-load-config@4.0.2", "", { "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" }, "peerDependencies": { "postcss": ">=8.0.9", "ts-node": ">=9.0.0" }, "optionalPeers": ["postcss", "ts-node"] }, "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ=="], - "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], "postgres-array": ["postgres-array@3.0.4", "", {}, "sha512-nAUSGfSDGOaOAEGwqsRY27GPOea7CNipJPOA7lPbdEpx5Kg3qzdP0AaWC5MlhTWV9s4hFX39nomVZ+C4tnGOJQ=="], diff --git a/packages/frontend/deno.json b/packages/frontend/deno.json deleted file mode 100644 index 675c374..0000000 --- a/packages/frontend/deno.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "@cvsa/frontend", - "tasks": { - "preview": "bun run astro preview", - "build": "bun run astro build" - }, - "exports": "./main.ts" -} diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 3016d5f..291f07c 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -11,11 +11,11 @@ "dependencies": { "@astrojs/node": "^9.1.3", "@astrojs/svelte": "^7.0.9", - "@astrojs/tailwind": "^6.0.2", "@tailwindcss/vite": "^4.1.4", "argon2id": "^1.0.1", "astro": "^5.5.5", "autoprefixer": "^10.4.21", + "date-fns": "^4.1.0", "pg": "^8.11.11", "postcss": "^8.5.3", "svelte": "^5.25.7", diff --git a/packages/frontend/src/pages/song/[id]/info.astro b/packages/frontend/src/pages/song/[id]/info.astro index e3f4fd3..01d5f4a 100644 --- a/packages/frontend/src/pages/song/[id]/info.astro +++ b/packages/frontend/src/pages/song/[id]/info.astro @@ -20,6 +20,8 @@ const postgresConfig = { password: databasePassword, }; +console.log(postgresConfig) + // 路由参数 const { id } = Astro.params; const { Client } = pg;