Feat: Rebrand, allow for custom brands#112
Conversation
ac75ba7 to
3fc61b1
Compare
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
chrip
left a comment
There was a problem hiding this comment.
Great work on the rebranding infrastructure. This lays a solid foundation for custom branding. Here are some observations:
Positive:
- Clean separation of branding variables (
COMPANY_NAME,COMPANY_NAME_LOW,PRODUCT_NAME,PRODUCT_NAME_LOW) indocker-bake.hcl - Using
regex_replace(lower(...))for slugification is a good touch - Supervisor configs now use environment variables instead of hardcoded paths, which is much more maintainable
Suggestions:
-
bundle.bake.Dockerfile—sedsubstitutions on config JSON files (lines 56-61, 80-85):
Usingsedto replace strings in JSON files at build time is fragile. If any config file contains the substringeuro-officeordocumentserverin a value (not a key/path), it will be incorrectly replaced. Consider usingjqor a more targeted replacement strategy for JSON files. -
orchestrated.bake.Dockerfile— hardcoded fallback value (line 9):
ARG COMPANY_NAME_LOW=euro-officehardcodes the fallback. This means builds that don't explicitly passCOMPANY_NAME_LOWwill still produceeuro-officebranded images. Is this intentional? If the goal is full rebranding, the default should perhaps be empty or a generic placeholder. -
standalone.bake.Dockerfile— debconf selections (lines 40-45):
The debconf lines still referenceeuroofficefor the PostgreSQL user/db name. These should either be parameterized or documented as requiring manual override for custom brands. -
entrypoint.sh— string interpolation without quoting (lines 4-5, 33, 44-46):
Variables like${EO_ROOT}-exampleand${EO_CONF}-exampleare used without quotes. If paths contain spaces (possible with customCOMPANY_NAME), this could break. Recommend quoting:"${EO_ROOT}-example". -
ds-example.conf(lines 8-9):
%(ENV_EO_ROOT)s-exampleand%(ENV_EO_CONF)s-example— using-examplesuffix assumes the example app always lives under the same root. This works for the current naming scheme but may be confusing for brands with different naming conventions. Consider an explicitEXAMPLE_SUFFIXvariable. -
Missing newline at EOF —
mariadb:$MARIADB_VERSION AS db-mariadbsection inorchestrated.bake.Dockerfilehas no trailing newline (git diff shows\ No newline at end of file). Minor but worth fixing for cleanliness.
Overall: Solid foundation for the rebranding effort. Once the JSON sed fragility and unquoted variable usage are addressed, this should be ready to merge.
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
These PRs replace some more onlyoffice logos, replace onlyoffice orange theme color by nextcloud blue theme color and add the ability to integrate custom brands.
depends on Euro-Office/server#24 Euro-Office/document-server-integration#9 Euro-Office/document-server-package#9