opf / opf/openproject-docker-compose

Healthcheck for web container fails!

Open Beginner friendly
#150 6 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
342
Forks
315
PR merge metrics
No merged PRs in 30d

Description

There is an urgent error that crashes openproject docker compose deployments:

There is no curl anymore in the app container image, so the health checks fail and autoheal is restarting the web container, but they don't come up again.

web:
    ...
    labels:
      - autoheal=true
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}/health_checks/default"]
      interval: 10s
      timeout: 3s
      retries: 3
      start_period: 30s
root@docker1:/docker/openproject# docker inspect openproject-web-1 --format '{{json .State.Health}}'
{"Status":"unhealthy","FailingStreak":79,"Log":[{"Start":"2026-03-11T15:36:43.524098518+01:00","End":"2026-03-11T15:36:43.60891546+01:00","ExitCode":-1,"Output":"OCI runtime exec failed: exec failed: unable to start container process: exec: \"curl\": executable file not found in $PATH"},{"Start":"2026-03-11T15:36:53.610644642+01:00","End":"2026-03-11T15:36:53.721577561+01:00","ExitCode":-1,"Output":"OCI runtime exec failed: exec failed: unable to start container process: exec: \"curl\": executable file not found in $PATH"},{"Start":"2026-03-11T15:37:03.723026179+01:00","End":"2026-03-11T15:37:03.847926613+01:00","ExitCode":-1,"Output":"OCI runtime exec failed: exec failed: unable to start container process: exec: \"curl\": executable file not found in $PATH"},{"Start":"2026-03-11T15:37:13.850434569+01:00","End":"2026-03-11T15:37:14.035559271+01:00","ExitCode":-1,"Output":"OCI runtime exec failed: exec failed: unable to start container process: exec: \"curl\": executable file not found in $PATH"},{"Start":"2026-03-11T15:37:24.036825754+01:00","End":"2026-03-11T15:37:24.19010835+01:00","ExitCode":-1,"Output":"OCI runtime exec failed: exec failed: unable to start container process: exec: \"curl\": executable file not found in $PATH"}]}
root@docker1:/docker/openproject# docker exec -it openproject-web-1 bash
app@openproject:/app$ curl
bash: curl: command not found

I've fixed it by commenting out the "autoheal=true", but we need curl in the container.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Docker Compose web service healthcheck and the app container image definition used by this repository. Reproduce the healthcheck or inspect the container to confirm that curl is unavailable, then verify that the web service becomes healthy and autoheal no longer restarts it.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose, shell
Domain
devops, infrastructure
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.