[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"problem-detail-error-service-shlink-nginx-depends-on-undefined-service-shlink":3},{"stack":4,"error":5,"seoName":6,"seoStack":7,"seo":8,"breadcrumb":10,"titlePrefix":17,"titleAccent":6,"lead":18,"facts":21,"why":36,"log":53,"fix":70,"engine":90,"related":101,"pitch":108},"dockerfile","service-shlink-nginx-depends-on-undefined-service-shlink","Docker Compose references an undefined PHP service","Dockerfile",{"description":9},"Learn what causes Docker Compose references an undefined PHP service, how PanelAlpha Engine responds to it during deployment.",[11,14,16],{"label":12,"href":13},"App Installations","\u002Fapps",{"label":7,"href":15},"\u002Fapps\u002Fstacks\u002Fdockerfile",{"label":6},"",[19],{"text":20},"Error recorded 2 times in PanelAlpha Engine deploys on Dockerfile. The deploy log below is the recorded failure output.",[22,27,30,32],{"label":23,"value":24,"tone":25,"tooltip":26},"Type","Error","err","An error that occurred in the deployed application. It is not necessarily a PanelAlpha Engine error, but we keep working on improvements so you run into fewer of them.",{"label":28,"value":29},"Seen","2 times",{"label":31,"value":7},"Where",{"label":33,"value":34,"tooltip":35},"Status","Observed","Our team will look into this soon, verify the cause and try to fix it in an upcoming release.",{"heading":37,"body":38},"Why it happens",[39,41,44,46,48,50,51],{"text":40},"The generated Compose project contains ",{"text":42,"code":43},"shlink_nginx",true,{"text":45},", which depends on ",{"text":47,"code":43},"shlink_php",{"text":49},", but no ",{"text":47,"code":43},{"text":52}," service is available in the effective Compose configuration. Docker rejects the project before any container starts. This may be caused by an incomplete Compose file or by service filtering during Dockerfile deployment.",{"heading":54,"block":55},"What the log looks like",{"header":56,"lines":57},"Deploy log",[58,62,66],{"segments":59},[60],{"text":61},"Starting application (docker compose up -d)",{"segments":63},[64],{"text":65},"service \"shlink_nginx\" depends on undefined service \"shlink_php\": invalid compose project",{"segments":67},[68],{"text":69},"Deploy failed: Failed to start app: service \"shlink_nginx\" depends on undefined service \"shlink_php\"",{"heading":71,"steps":72,"block":87},"How to fix it",[73],[74,76,77,79,81,83,85],{"text":75},"Review the repository's Compose configuration and confirm that ",{"text":47,"code":43},{"text":78}," is defined and included for this deployment. If the PHP service is intentionally excluded, remove its reference from ",{"text":80,"code":43},"shlink_nginx.depends_on",{"text":82}," and related configuration. Validate the final Compose file with ",{"text":84,"code":43},"docker compose config",{"text":86},", then deploy again.",{"header":88,"lines":89},"Fix by hand",[],{"heading":91,"body":92,"block":99},"How PanelAlpha Engine solves it",[93,95,97],{"text":94},"Validate the effective Compose configuration before running ",{"text":96,"code":43},"docker compose up",{"text":98},". Report which service was removed or omitted when a retained service references it, and avoid continuing when Dockerfile strategy filtering produces an invalid dependency graph.",{"header":17,"lines":100},[],{"heading":102,"items":103},"Apps affected",[104],{"title":105,"badge":106,"tone":25,"href":107},"shlinkio\u002Fshlink","2 occurrences","\u002Fapps\u002Fshlinkio\u002Fshlink",{"heading":109,"body":110,"footNote":111,"docsLabel":112,"docsHref":113},"Try PanelAlpha Engine yourself.","The easiest way to turn your server into a safe, controlled environment for your AI agent. Deploy, manage and maintain any project from Claude Code, Cursor, Codex or any other MCP client. Open source under Apache 2.0, free to run.","Requires Ubuntu 24.04 or 26.04 · 2 GB RAM · 1 CPU","Read the documentation","https:\u002F\u002Fpanelalpha.com\u002Fdocs"]