The Neo4j container can be incorrectly marked as unhealthy during startup because the current healthcheck has a 5-second timeout.
On my system, Neo4j successfully starts, but:
cypher-shell -u neo4j -p password "RETURN 1"
takes around 12.5 seconds to complete.
This causes the healthcheck to time out even though Neo4j is actually running correctly, which prevents dependent services from starting with make prod.
Changes
Increased the healthcheck interval from 5s to 10s
Increased the timeout from 5s to 20s
Added a 30s start period
Kept 10 retries
Explicitly defined the healthcheck as CMD-SHELL
Testing
Tested locally with Docker Compose:
docker compose -f docker-compose.prod.yml config → YAML OK
Neo4j container → healthy
PostgreSQL → healthy
Redis → healthy
API → healthy
App → healthy
The Neo4j healthcheck now succeeds on the affected system.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/reconurge/flowsint/pull/209
**Author:** [@Yvanss971](https://github.com/Yvanss971)
**Created:** 8/11/2026
**Status:** ✅ Merged
**Merged:** 8/11/2026
**Merged by:** [@dextmorgn](https://github.com/dextmorgn)
**Base:** `main` ← **Head:** `fix/neo4j-healthcheck`
---
### 📝 Commits (1)
- [`7ea453a`](https://github.com/reconurge/flowsint/commit/7ea453ad5f4191a3cd68828f577adde81ac5f783) fix: increase Neo4j healthcheck timeout
### 📊 Changes
**1 file changed** (+4 additions, -3 deletions)
<details>
<summary>View changed files</summary>
📝 `docker-compose.prod.yml` (+4 -3)
</details>
### 📄 Description
## Description
The Neo4j container can be incorrectly marked as unhealthy during startup because the current healthcheck has a 5-second timeout.
On my system, Neo4j successfully starts, but:
`cypher-shell -u neo4j -p password "RETURN 1"`
takes around 12.5 seconds to complete.
This causes the healthcheck to time out even though Neo4j is actually running correctly, which prevents dependent services from starting with `make prod`.
## Changes
- Increased the healthcheck interval from 5s to 10s
- Increased the timeout from 5s to 20s
- Added a 30s start period
- Kept 10 retries
- Explicitly defined the healthcheck as `CMD-SHELL`
## Testing
Tested locally with Docker Compose:
- `docker compose -f docker-compose.prod.yml config` → YAML OK
- Neo4j container → healthy
- PostgreSQL → healthy
- Redis → healthy
- API → healthy
- App → healthy
The Neo4j healthcheck now succeeds on the affected system.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/reconurge/flowsint/pull/209
Author: @Yvanss971
Created: 8/11/2026
Status: ✅ Merged
Merged: 8/11/2026
Merged by: @dextmorgn
Base:
main← Head:fix/neo4j-healthcheck📝 Commits (1)
7ea453afix: increase Neo4j healthcheck timeout📊 Changes
1 file changed (+4 additions, -3 deletions)
View changed files
📝
docker-compose.prod.yml(+4 -3)📄 Description
Description
The Neo4j container can be incorrectly marked as unhealthy during startup because the current healthcheck has a 5-second timeout.
On my system, Neo4j successfully starts, but:
cypher-shell -u neo4j -p password "RETURN 1"takes around 12.5 seconds to complete.
This causes the healthcheck to time out even though Neo4j is actually running correctly, which prevents dependent services from starting with
make prod.Changes
CMD-SHELLTesting
Tested locally with Docker Compose:
docker compose -f docker-compose.prod.yml config→ YAML OKThe Neo4j healthcheck now succeeds on the affected system.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.