[Bug]: Herd 1.30.1 – nginx fails to start when Herd.app is not installed directly in /Applications (hardcoded path in config/pro/nginx/debug.conf)
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 76/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript, nginx
- Domain
- backend
Research direction
Start with config/pro/nginx/debug.conf and compare its js_import path with the actual bundle path and the generated nginx configuration described in the issue. Check how nginx resolves this include, then verify nginx starts when Herd.app is installed in a subfolder of /Applications.
Written by the indexing model from the issue text.
Description
Platform
macOS
Operating system version
macOS 26.7
System architecture
ARM64 (M1, M2, etc)
Herd Version
1.30.1
PHP Version
No response
Bug description
I'm running into a startup failure of nginx after installing Herd in a subfolder of /Applications. Details below.
Environment
- Herd 1.30.1 (build 67), Pro features enabled
- macOS 26.7 (arm64, Apple Silicon)
- Herd installed at: /Applications/Development/Herd.app
(not at /Applications/Herd.app)
Symptom
nginx does not start. The Herd log shows:
2026/10/07 01:06:59 [emerg] 46104#9609806: SyntaxError: Cannot find module
"/Applications/Herd.app/Contents/Resources/config/pro/njs/detect.js"
in /Users//Library/Application Support/Herd/config/nginx/:1
php-fpm and dnsmasq start fine; only nginx is affected.
Root cause
All user-side configs that Herd generates correctly use the actual install path, e.g.
~/Library/Application Support/Herd/config/nginx/nginx.conf
include "/Applications/Development/Herd.app/Contents/Resources/config/pro/nginx/.conf";
include "/Applications/Development/Herd.app/Contents/Resources/config/default-sites/.conf";
~/Library/Application Support/Herd/config/nginx/herd.conf
fastcgi_param SCRIPT_FILENAME "/Applications/Development/Herd.app/Contents/Resources/valet/server.php";
~/Library/Application Support/Herd/config/php/*/php.ini
extension=/Applications/Development/Herd.app/Contents/Resources/herd-ext/herd-84-arm64.so
However, the Pro nginx config shipped inside the app bundle has the default install path hardcoded:
/Applications/Development/Herd.app/Contents/Resources/config/pro/nginx/debug.conf
js_import "/Applications/Herd.app/Contents/Resources/config/pro/njs/detect.js";
Since nginx.conf includes that file, nginx fails at config parse time whenever the bundle is not located at /Applications/Herd.app. The detect.js file itself exists at the correct location
(/Applications/Development/Herd.app/Contents/Resources/config/pro/njs/detect.js).
Expected behaviour
The js_import path in config/pro/nginx/debug.conf should be resolved relative to the actual bundle location (as is already done for all other generated configs), or the file should be templated/generated into the user config directory with the real path.
Workaround
Creating a symlink /Applications/Herd.app -> /Applications/Development/Herd.app makes nginx start again. Moving the app to /Applications also works, but defeats the purpose of organizing apps in subfolders.
Happy to provide further logs or test a build.
Best regards,
Steps to reproduce
No response
Relevant log output
- Dominant language
- No language data
- Stars
- 123
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from beyondcode/herd-community
-
[Bug]: PHP 8.3 php.ini missing auto_prepend_file and herd-ext extension lines (dump() undefined)OpenmacOS
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
beyondcode/herd-community#1693 ·
-
macOS
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
beyondcode/herd-community#1602 ·
-
[Bug]: 1.30.2 creates PHP 8.2 config and ~/.zshrc lines on every start, although 8.2 isn't installedOpenfixed-in-next-release macOS
Difficulty 3/5 1-2 days Newbie friendliness 56/100
beyondcode/herd-community#1763 · 2 comments ·
-
fixed-in-next-release macOS
Difficulty 3/5 1-2 days Newbie friendliness 58/100
beyondcode/herd-community#1760 ·
-
macOS
Difficulty 4/5 3-5 days Newbie friendliness 35/100
beyondcode/herd-community#1755 ·
All issues in beyondcode/herd-community
Similar issues
-
Executable-extension and MIME blocklist is case-sensitive; .EXE and mixed-case variants bypass itOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
awslabs/visual-asset-management-system#412 ·
Maintainers usually reply within 1 day
-
[BUG] 订单:会员凭订单号即可取消其他会员的待付款订单(取消接口不校验订单归属)Possibly taken @dadiyang claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
macrozheng/mall#1016 ·
-
bug v1 v2
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
modelcontextprotocol/python-sdk#3670 · 1 comment ·
Maintainers usually reply within 1 day
-
bug pending triage scope/agent
Difficulty 1/5 Under an hour Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
zerocracy/judges-action#2739 ·
Maintainers usually reply within 8 days