diff --git a/Dockerfile b/Dockerfile index 74e554f..57c0b29 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM oven/bun:1.3.13 AS build +FROM oven/bun:1.3.13 AS source WORKDIR /app @@ -6,6 +6,9 @@ COPY package.json bun.lock ./ RUN bun install --frozen-lockfile COPY . . + +FROM source AS build + RUN bun run build \ && bun run compile \ && mv out/server-* out/server diff --git a/compose.yaml b/compose.yaml index db71008..1f2a40b 100644 --- a/compose.yaml +++ b/compose.yaml @@ -4,7 +4,7 @@ services: ports: - "3306:3306" volumes: - - ./volumes/mysql/data:/var/lib/mysql + - mysql_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: battery_soh @@ -17,17 +17,16 @@ services: retries: 20 seed: - image: oven/bun:1.3.13 + build: + context: . + target: source restart: "no" depends_on: db: condition: service_healthy - volumes: - - .:/app environment: - DATABASE_URL=mysql://battery:battery@db:3306/battery_soh - command: [ "sh", "-lc", "bun install --frozen-lockfile && bun run seed" ] - working_dir: /app + command: [ "bun", "run", "seed" ] app: build: . @@ -38,3 +37,6 @@ services: - "3000:3000" environment: - DATABASE_URL=mysql://battery:battery@db:3306/battery_soh + +volumes: + mysql_data: diff --git a/scripts/seed.ts b/scripts/seed.ts index e556e69..8a5b935 100644 --- a/scripts/seed.ts +++ b/scripts/seed.ts @@ -1,6 +1,6 @@ -import { reset } from 'drizzle-seed' -import { drizzle } from 'drizzle-orm/mysql2' import { datetime, index, int, mysqlTable, tinyint, varchar } from 'drizzle-orm/mysql-core' +import { drizzle } from 'drizzle-orm/mysql2' +import { reset } from 'drizzle-seed' import mysql from 'mysql2/promise' type SeedRow = {