Major changes since initial commit: Schema: version branching (parentVersionId, branchLabel), share links, guest comments, track status enum (sketch/in_progress/final/released), track sections, cover art for projects and tracks. API: 29+ endpoints — auth, projects, tracks, versions, comments, share links (public + management), uploads (cover), activity feed, onboarding demo seed. Email templates in German with brand styling. Web: SvelteKit 5 workspace layout with persistent sidebar, breadcrumb top-bar, collapsible right panel. SoundCloud-style waveform player with round play button, avatar comment markers, keyboard shortcuts (Space/JKL/C). Full German UI. Cover art with gradient fallback. Track status pills. Activity feed dashboard. Welcome modal with demo-seed trigger. Landing page with 7-section scroll layout. Login on /login. Public /listen/:token page for guest feedback. Visual: Inter Variable font, Magenta→Orange gradient accent, warm dark neutrals, Lucide-style inline SVG icon set, spring animations on modals, glass-effect toasts, responsive from 360px to 2560px+. PWA: manifest, service worker, icons, iOS/Android installable. Production: adapter-node, server-side API proxy hook, docker-compose with Postgres + MinIO + auto-migration + health checks. Env example included. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
25 lines
737 B
Docker
25 lines
737 B
Docker
FROM oven/bun:1 AS base
|
|
WORKDIR /app
|
|
|
|
FROM base AS install
|
|
COPY package.json bun.lock ./
|
|
COPY packages/shared/package.json ./packages/shared/
|
|
COPY apps/web/package.json ./apps/web/
|
|
RUN bun install --frozen-lockfile
|
|
|
|
FROM base AS build
|
|
COPY --from=install /app/node_modules ./node_modules
|
|
COPY --from=install /app/packages/shared/node_modules ./packages/shared/node_modules
|
|
COPY --from=install /app/apps/web/node_modules ./apps/web/node_modules
|
|
COPY . .
|
|
RUN cd apps/web && bun run build
|
|
|
|
FROM base AS production
|
|
COPY --from=build /app/apps/web/build ./build
|
|
COPY --from=build /app/apps/web/package.json .
|
|
COPY --from=build /app/node_modules ./node_modules
|
|
EXPOSE 3000
|
|
ENV NODE_ENV=production
|
|
ENV PORT=3000
|
|
CMD ["bun", "./build/index.js"]
|