All checks were successful
Deploy production / deploy (push) Successful in 2m37s
- music schema: artists/albums/tracks (+album art), plays with source + dedupe, now_playing, spotify_auth, import_state; plays_deduped view hides Last.fm scrobbles Spotify also has - in-app Spotify poller (60s, leased) started from hooks init; no new role or env needed - /api/spotify/connect + callback (owner only), /trackers/music public stats - scripts: music-poll, music-import-lastfm (resumable), music-import-history - deploy/music-collector: optional host timer with its own role
30 lines
1.0 KiB
Docker
Executable File
30 lines
1.0 KiB
Docker
Executable File
FROM oven/bun:1.4.0 AS builder
|
|
WORKDIR /app
|
|
COPY package.json bun.lock ./
|
|
RUN bun install --frozen-lockfile
|
|
COPY . .
|
|
RUN bun run test:unit -- --run
|
|
RUN bun run build
|
|
|
|
FROM oven/bun:1.4.0
|
|
WORKDIR /app
|
|
ARG GIT_SHA=dev
|
|
ENV APP_VERSION=$GIT_SHA
|
|
COPY --from=builder /app/node_modules ./node_modules
|
|
COPY --from=builder /app/build ./build
|
|
COPY --from=builder /app/scripts ./scripts
|
|
COPY --from=builder /app/drizzle ./drizzle
|
|
COPY --from=builder /app/data ./data
|
|
COPY --from=builder /app/src/lib/server/db/schema ./src/lib/server/db/schema
|
|
COPY --from=builder /app/src/lib/cs-prices ./src/lib/cs-prices
|
|
# scripts/house-listing.ts (manual listings CLI) imports these pure helpers.
|
|
COPY --from=builder /app/src/lib/house-tracker ./src/lib/house-tracker
|
|
COPY --from=builder /app/src/lib/availability.ts ./src/lib/availability.ts
|
|
# scripts/music-*.ts (Spotify poll, Last.fm and streaming-history imports) import these.
|
|
COPY --from=builder /app/src/lib/music ./src/lib/music
|
|
COPY package.json ./
|
|
EXPOSE 3000
|
|
ENV NODE_ENV=production
|
|
ENV BODY_SIZE_LIMIT=6M
|
|
CMD ["bun", "./build"]
|