16 lines
610 B
Docker
16 lines
610 B
Docker
FROM oven/bun:1 AS base
|
|
WORKDIR /app
|
|
|
|
# Install dependencies
|
|
COPY package.json bun.lock* ./
|
|
RUN bun install --frozen-lockfile 2>/dev/null || bun install
|
|
|
|
# Copy source
|
|
COPY . .
|
|
|
|
# Generate migrations and run
|
|
EXPOSE 3100
|
|
RUN apt-get update && apt-get install -y postgresql-client && rm -rf /var/lib/apt/lists/*
|
|
COPY init-todos.sql /app/init-todos.sql
|
|
CMD ["sh", "-c", "echo 'Running init SQL...' && psql \"$DATABASE_URL\" -f /app/init-todos.sql 2>&1 && echo 'Init SQL done' && echo 'Running db:push...' && yes | bun run db:push 2>&1; echo 'db:push exit code:' $? && echo 'Starting server...' && bun run start"]
|