Changes:
- Build all packages (core, auth, blocks, admin) from source
- Copy packages with -L dereferencing symlinks so deps resolve properly
- Use emdash@0.9.0 from npm (source packages include their own deps)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The @emdash-cms/auth package needs its node_modules (ulidx, etc.) to be
linked. Running pnpm install after copying it restores the proper links.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The exports map in package.json is needed at build time to resolve
"@emdash-cms/auth/adapters/kysely". Copying just dist/ loses the
exports field in package.json causing resolution to fail.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The @emdash-cms/auth package needs its built dist/ folder copied,
not the raw src. Also builds auth package after core.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolves build error: Rollup failed to resolve import
"@emdash-cms/auth/adapters/kysely" from emdash middleware.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Changed database path to ./storage/data.db
- Changed uploads path to ./storage/uploads
- Updated Dockerfile to create storage/uploads dir (not uploads)
- Updated entrypoint.sh to check /app/storage/data.db
- Removed COPY of uploads from builder to runner
Now all persistent data is in /app/storage/:
- /app/storage/data.db (SQLite database)
- /app/storage/uploads/ (uploaded media)
Easypanel mount: emdash-storage → /app/storage
To update EmDash: change version in package.json → push → redeploy
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove emdash seed from Dockerfile build stage (no longer overwrites DB)
- Add entrypoint.sh that checks if data.db exists before seeding
- First launch: seed runs to populate DB
- Subsequent redeploys: DB exists, seed skipped, data preserved
- Also remove COPY data.db from runner stage (volume mount handles persistence)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixed index.astro: escaped curly braces in code display block
to prevent Astro parser misinterpreting them as expressions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>