[PR #24445] refactor: Promote basepath to environment variable #30639

Closed
opened 2026-02-21 20:47:56 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/24445

State: closed
Merged: Yes


Summary

This pull request introduces support for configuring the application's base path via the NEXT_PUBLIC_BASE_PATH environment variable, ensuring consistent usage across the codebase and deployment environments. The changes mainly focus on environment variable management and Docker-related configuration.

Environment variable management:

  • Added NEXT_PUBLIC_BASE_PATH to the .env.example file to document and allow configuration of the application's base path.
  • Exported NEXT_PUBLIC_BASE_PATH in the Docker entrypoint script (web/docker/entrypoint.sh) to ensure the variable is available at runtime.
  • Set NEXT_PUBLIC_BASE_PATH in the Dockerfile (web/Dockerfile) to provide a default value during image build.

Codebase configuration:

  • Updated web/utils/var-basePath.js to use process.env.NEXT_PUBLIC_BASE_PATH for the basePath value, enabling dynamic base path configuration based on the environment variable.

Screenshots

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/24445 **State:** closed **Merged:** Yes --- ## Summary <!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. --> This pull request introduces support for configuring the application's base path via the `NEXT_PUBLIC_BASE_PATH` environment variable, ensuring consistent usage across the codebase and deployment environments. The changes mainly focus on environment variable management and Docker-related configuration. **Environment variable management:** * Added `NEXT_PUBLIC_BASE_PATH` to the `.env.example` file to document and allow configuration of the application's base path. * Exported `NEXT_PUBLIC_BASE_PATH` in the Docker entrypoint script (`web/docker/entrypoint.sh`) to ensure the variable is available at runtime. * Set `NEXT_PUBLIC_BASE_PATH` in the Dockerfile (`web/Dockerfile`) to provide a default value during image build. **Codebase configuration:** * Updated `web/utils/var-basePath.js` to use `process.env.NEXT_PUBLIC_BASE_PATH` for the `basePath` value, enabling dynamic base path configuration based on the environment variable. ## Screenshots | Before | After | |--------|-------| | ... | ... | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:47:56 -05:00
yindo closed this issue 2026-02-21 20:47:56 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#30639