The current libreshop/cms image was extracted verbatim from mp/cms/ and contains muellerprints-specific Strapi content — product schemas, copy strings, brand assets, asset paths. Adapters (e.g. mp) should override these via env + bind-mounts, not inherit them from the shared base.
Per the architectural decision (see netcup/libreshop/README.md), libreshop/cms must be white-label: schema only, with neutral placeholder content. Adapter-specific data lives in the adapter's cms-db Postgres + cms-data volume. The image carries the "Strapi project + libreshop schema definitions + sane defaults" only.
Tasks
Inventory muellerprints-specific content baked into the image:
config/admin.ts, config/api.ts, config/server.ts
src/api/<content-type>/content-types/<schema>/lifecycles.ts for any mp-flavored business rules
src/services/PdfApi.ts, MailApi.ts, PayPalApi.ts for any hard-coded mp endpoints
Asset paths under public/uploads/
Move muellerprints-specific values into env vars (LIBRESHOP_BRAND_NAME, LIBRESHOP_LEGAL_ADDRESS, LIBRESHOP_LOGO_URL, LIBRESHOP_PRIMARY_COLOR, etc.) consumed at runtime.
Replace fixed copy with placeholder strings (\, \) that adapters override.
Document the env contract in README.md so adapters know which keys to set.
mp adapter: move muellerprints values into mp's /root/code/mp-next/.env (or a separate mp-cms-overrides.json bind-mount) and stop relying on the image's content.
Acceptance criteria
Booting libreshop/cms with empty env shows generic "libreshop" branding, not muellerprints.
mp adapter still shows muellerprints branding when its env is set, with no image change.
A third hypothetical adapter could set its own env and get its own branding without touching the cms image.
Related
libreshop/nginx: admin route fix (separate issue) — admin reachability is needed for adapters to provision their own brand content via Strapi UI.
## Summary
The current libreshop/cms image was extracted verbatim from mp/cms/ and contains muellerprints-specific Strapi content — product schemas, copy strings, brand assets, asset paths. Adapters (e.g. mp) should override these via env + bind-mounts, not inherit them from the shared base.
Per the architectural decision (see netcup/libreshop/README.md), libreshop/cms must be **white-label**: schema only, with neutral placeholder content. Adapter-specific data lives in the adapter's `cms-db` Postgres + `cms-data` volume. The image carries the "Strapi project + libreshop schema definitions + sane defaults" only.
## Tasks
- [ ] Inventory muellerprints-specific content baked into the image:
- `config/admin.ts`, `config/api.ts`, `config/server.ts`
- `src/api/<content-type>/content-types/<schema>/lifecycles.ts` for any mp-flavored business rules
- `src/services/PdfApi.ts`, `MailApi.ts`, `PayPalApi.ts` for any hard-coded mp endpoints
- Asset paths under `public/uploads/`
- [ ] Move muellerprints-specific values into env vars (`LIBRESHOP_BRAND_NAME`, `LIBRESHOP_LEGAL_ADDRESS`, `LIBRESHOP_LOGO_URL`, `LIBRESHOP_PRIMARY_COLOR`, etc.) consumed at runtime.
- [ ] Replace fixed copy with placeholder strings (`\`, `\`) that adapters override.
- [ ] Document the env contract in `README.md` so adapters know which keys to set.
- [ ] mp adapter: move muellerprints values into mp's `/root/code/mp-next/.env` (or a separate `mp-cms-overrides.json` bind-mount) and stop relying on the image's content.
## Acceptance criteria
- Booting libreshop/cms with empty env shows generic "libreshop" branding, not muellerprints.
- mp adapter still shows muellerprints branding when its env is set, with no image change.
- A *third* hypothetical adapter could set its own env and get its own branding without touching the cms image.
## Related
- libreshop/nginx: admin route fix (separate issue) — admin reachability is needed for adapters to provision their own brand content via Strapi UI.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
The current libreshop/cms image was extracted verbatim from mp/cms/ and contains muellerprints-specific Strapi content — product schemas, copy strings, brand assets, asset paths. Adapters (e.g. mp) should override these via env + bind-mounts, not inherit them from the shared base.
Per the architectural decision (see netcup/libreshop/README.md), libreshop/cms must be white-label: schema only, with neutral placeholder content. Adapter-specific data lives in the adapter's
cms-dbPostgres +cms-datavolume. The image carries the "Strapi project + libreshop schema definitions + sane defaults" only.Tasks
config/admin.ts,config/api.ts,config/server.tssrc/api/<content-type>/content-types/<schema>/lifecycles.tsfor any mp-flavored business rulessrc/services/PdfApi.ts,MailApi.ts,PayPalApi.tsfor any hard-coded mp endpointspublic/uploads/LIBRESHOP_BRAND_NAME,LIBRESHOP_LEGAL_ADDRESS,LIBRESHOP_LOGO_URL,LIBRESHOP_PRIMARY_COLOR, etc.) consumed at runtime.\,\) that adapters override.README.mdso adapters know which keys to set./root/code/mp-next/.env(or a separatemp-cms-overrides.jsonbind-mount) and stop relying on the image's content.Acceptance criteria
Related