Skip to content

Feat: rebranding, possibility for own brand#24

Merged
rikled merged 2 commits into
mainfrom
feat/rebrand
May 28, 2026
Merged

Feat: rebranding, possibility for own brand#24
rikled merged 2 commits into
mainfrom
feat/rebrand

Conversation

@rikled
Copy link
Copy Markdown
Member

@rikled rikled commented May 26, 2026

No description provided.

@rikled rikled marked this pull request as draft May 26, 2026 21:43
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
@rikled rikled marked this pull request as ready for review May 27, 2026 15:06
@juliusknorr juliusknorr moved this from 📄 To do to 👀 In review in 📄 Euro-Office team May 28, 2026
Copy link
Copy Markdown
Contributor

@chrip chrip left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good work on the server-side rebranding. The approach of using BRANDING_DIR to overlay custom branding is clean. Here are some observations:

Suggestions:

  1. server.bake.DockerfileCOPY ${BRANDING_DIR}/server/ /server (line 48):
    This overwrites the entire /server directory, not just branding-specific files. If a custom branding dir doesn't include all server subdirectories, the build will silently drop missing files. Consider a more targeted approach (e.g., COPY --no-chown ${BRANDING_DIR}/server/Common/ /server/Common/ for specific paths) or add a validation step to ensure all required files are present.

  2. webpack.config.js — hardcoded fallback (line 11):
    const appName = process.env.APP_NAME || 'Euro-Office'; hardcodes 'Euro-Office' as the fallback. For a rebranding PR, this should be 'DocumentServer' or left undefined so upstream defaults apply. Otherwise any build without APP_NAME explicitly set will still produce Euro-Office branded output.

  3. CSS comment stale after color changeTabs.module.scss line 45:
    /* ensure orange while focused/pressed */ is now incorrect since the color was changed to blue. Worth a quick cleanup.

  4. process.env.APP_NAME in React componentsMenu.js, LoginPage.js, SetupPage.js:
    Reading process.env.APP_NAME directly in React components works because webpack's DefinePlugin replaces it at build time, but this is implicit. Consider adding a comment or using a dedicated config module to make this explicit and prevent confusion for future contributors.

  5. Missing newline at EOFserver.bake.Dockerfile ends without a trailing newline (git diff shows \ No newline at end of file). Minor but worth fixing.

  6. APP_NAME vs COMPANY_NAME naming (line 52):
    The env var is named APP_NAME but set to COMPANY_NAME. For brands where the company name differs from the product/app name (e.g., "Nextcloud" as company but "Nextcloud Office" as app name), this limits flexibility. Consider separating APP_NAME and COMPANY_NAME as distinct variables.

Overall: Solid work. Once the webpack fallback and BRANDING_DIR overwrite concerns are addressed, this is ready to merge.

@rikled
Copy link
Copy Markdown
Member Author

rikled commented May 28, 2026

webpack fallback is desired behavior. ${BRANDING_DIR} overwrite behavior is ok for now imho.

@rikled rikled merged commit 2307f4b into main May 28, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make package and image naming dynamic based on company name

3 participants