-
Notifications
You must be signed in to change notification settings - Fork 8
Add Docker and Docker Compose operations documentation #279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the WalkthroughThe changes add comprehensive Docker and Docker Compose documentation to the operations guide. A new Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes
Poem
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
Comment |
Co-authored-by: gkorland <753206+gkorland@users.noreply.github.com>
operations/docker.md
Outdated
| ## Connecting to FalkorDB | ||
|
|
||
| ### From the Host Machine | ||
|
|
||
| ```bash | ||
| # Without authentication | ||
| redis-cli -h localhost -p 6379 | ||
|
|
||
| # With authentication | ||
| redis-cli -h localhost -p 6379 -a yourpassword | ||
|
|
||
| # Using FalkorDB Python client | ||
| python -c "from falkordb import FalkorDB; db = FalkorDB(host='localhost', port=6379, password='yourpassword'); print('Connected!')" | ||
| ``` | ||
|
|
||
| ### From Another Container | ||
|
|
||
| When using Docker Compose with a custom network, containers can communicate using service names: | ||
|
|
||
| ```bash | ||
| # In another container on the same network | ||
| redis-cli -h falkordb-server -p 6379 -a yourpassword | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot no need for this " Connecting to FalkorDB" section in this page
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the "Connecting to FalkorDB" section and its subsections (24 lines removed). (commit b203102)
|
@CodeRabbit reveiew |
|
@gkorland, I'll review the changes in this PR right away. ✅ Actions performedReview triggered.
|
…ove connection section Co-authored-by: gkorland <753206+gkorland@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
operations/docker.md(1 hunks)operations/index.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
operations/index.md
[grammar] ~44-~44: Use a hyphen to join words.
Context: ...form-as-a-service. Choose between single instance or cluster deployments. ## 8. ...
(QB_NEW_EN_HYPHEN)
🪛 markdownlint-cli2 (0.18.1)
operations/docker.md
402-402: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: copilot
🔇 Additional comments (4)
operations/index.md (1)
18-20: Verify cross-link and section description for Docker documentation.The new Docker section is properly positioned as the first operations topic, and the description adequately summarizes the content. The link structure looks correct.
operations/docker.md (3)
257-279: Resolve past review comment: "Connecting to FalkorDB" section flagged for removal.A past review comment indicated that the "Connecting to FalkorDB" section should be removed from this page. However, this section (lines 257-279) is still present in the file. Please confirm whether this section should be:
- Deleted entirely, or
- Moved to another documentation page, or
- Retained with justification for why it remains
502-503: Verify link path consistency for Kubernetes documentation.Line 503 references
/operations/k8s-support(with hyphen), butoperations/index.mdline 34 references/operations/k8s_support(with underscore). Ensure the link path is consistent with the actual file location.
1-11: Comprehensive documentation structure looks sound.The file provides well-organized, practical guidance for Docker and Docker Compose operations. Sections are logically ordered from simple quick-start to advanced production configurations. Once the flagged unresolved review comments are addressed, this documentation should effectively serve users at all levels.
| ## Quick Start with Docker | ||
|
|
||
| ### Running with Browser (Development) | ||
|
|
||
| ```bash | ||
| docker run -p 6379:6379 -p 3000:3000 -it --rm falkordb/falkordb:latest | ||
| ``` | ||
|
|
||
| Access the browser at [http://localhost:3000](http://localhost:3000) | ||
|
|
||
| ### Running Server Only (Production) | ||
|
|
||
| ```bash | ||
| docker run -p 6379:6379 -it --rm falkordb/falkordb-server:latest | ||
| ``` | ||
|
|
||
| ### Running with Authentication | ||
|
|
||
| ```bash | ||
| docker run -p 6379:6379 -p 3000:3000 -it \ | ||
| -e REDIS_ARGS="--requirepass yourpassword" \ | ||
| --rm falkordb/falkordb:latest | ||
| ``` | ||
|
|
||
| ### Running with Custom Configuration | ||
|
|
||
| ```bash | ||
| docker run -p 6379:6379 -p 3000:3000 -it \ | ||
| -e REDIS_ARGS="--requirepass yourpassword" \ | ||
| -e FALKORDB_ARGS="THREAD_COUNT 4 TIMEOUT 5000" \ | ||
| --rm falkordb/falkordb:latest | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Add FalkorDB-Browser as a separate quick-start option.
A past review comment requested adding the falkordb/falkordb-browser image as a dedicated quick-start option. While the documentation mentions falkordb/falkordb-browser later (line 157), the Quick Start section should include it as a separate option alongside the existing Development and Production examples for discoverability.
Consider adding:
### Running Browser Only (Standalone)
\`\`\`bash
docker run -p 3000:3000 -e FALKORDB_URL=redis://your-falkordb-host:6379 falkordb/falkordb-browser:latest
\`\`\`I'll verify the claims in this review comment by examining the file and confirming the Docker image details.
---
🏁 Script executed:
```shell
#!/bin/bash
# Search for operations/docker.md and verify existence and content around line 157
fd -type f -name "docker.md" | head -20
Length of output: 170
🏁 Script executed:
#!/bin/bash
# Search for docker.md file in operations directory
fd "docker.md" && echo "---" && fd "docker.md" -x wc -lLength of output: 117
🏁 Script executed:
#!/bin/bash
# Find and display content around lines 29-60 and 157 from operations/docker.md
if [ -f "operations/docker.md" ]; then
echo "=== Lines 29-60 ===" && sed -n '29,60p' operations/docker.md
echo ""
echo "=== Lines 150-165 (around line 157) ===" && sed -n '150,165p' operations/docker.md
else
echo "File not found"
fiLength of output: 1173
---
🌐 Web query:
```web
FalkorDB falkordb-browser Docker image environment variables configuration
💡 Result:
Key environment variables and usage for the FalkorDB Docker images (including the browser/all-in-one image):
- REDIS_ARGS — extra arguments passed to the embedded Redis server (example: --requirepass). Use -e REDIS_ARGS="--requirepass mypass". [1]
- FALKORDB_ARGS — FalkorDB module / server options (example: THREAD_COUNT 4). Use -e FALKORDB_ARGS="THREAD_COUNT 4" or pass module load args. [1]
- Ports exposed by the all-in-one image: Redis 6379 and Browser UI 3000 (map with -p 6379:6379 -p 3000:3000). [1]
- For the text-to-cypher / browser-enabled bundle (falkordb/text-to-cypher or the all-in-one image) additional env vars used by the HTTP/MCP services:
- DEFAULT_MODEL — default AI model (e.g., "gpt-4o-mini"). [2]
- DEFAULT_KEY — API key for the AI service. [2]
- FALKOR_URL — FalkorDB connection URL (default falkor://127.0.0.1:6379). [2]
- Other service-specific vars may exist (see that repo’s .env.example). [2]
Examples:
- Run FalkorDB with password and 4 threads:
docker run -p 6379:6379 -p 3000:3000 -e REDIS_ARGS="--requirepass falkordb" -e FALKORDB_ARGS="THREAD_COUNT 4" falkordb/falkordb:latest. [1] - Run text-to-cypher all-in-one with model/key:
docker run -p 6379:6379 -p 3000:3000 -p 8080:8080 -e DEFAULT_MODEL=gpt-4o-mini -e DEFAULT_KEY=your-api-key falkordb/text-to-cypher:latest. [2]
References:
[1] FalkorDB Configuration docs (Docker examples).
[2] falkordb/text-to-cypher GitHub README (Docker env vars and .env usage).
Add falkordb/falkordb-browser as a standalone quick-start option in the Quick Start section.
The falkordb-browser image is already documented in the Docker Compose example (line 157+) but is not included in the Quick Start section (lines 29–60), which reduces discoverability for users wanting a browser-only setup with an existing FalkorDB instance.
Add the suggested option:
### Running Browser Only (Standalone)
\`\`\`bash
docker run -p 3000:3000 -e FALKORDB_URL=redis://your-falkordb-host:6379 falkordb/falkordb-browser:latest
\`\`\`This improves Quick Start accessibility and provides a clear path for common deployment scenarios.
🤖 Prompt for AI Agents
In operations/docker.md around lines 29 to 60, the Quick Start section omits a
standalone browser-only Docker image; add a "Running Browser Only (Standalone)"
entry that shows the docker run command using the
falkordb/falkordb-browser:latest image and documents the required FALKORDB_URL
env var and port mapping (3000:3000) so users can quickly launch the browser UI
against an existing FalkorDB instance.
| ## Using Docker Compose | ||
|
|
||
| Docker Compose provides a more flexible and maintainable way to run FalkorDB, especially when you need to configure multiple services or manage complex setups. | ||
|
|
||
| ### Basic Docker Compose Setup | ||
|
|
||
| Create a `docker-compose.yml` file: | ||
|
|
||
| ```yaml | ||
| version: '3.8' | ||
|
|
||
| services: | ||
| falkordb: | ||
| image: falkordb/falkordb:latest | ||
| container_name: falkordb | ||
| ports: | ||
| - "6379:6379" | ||
| - "3000:3000" | ||
| environment: | ||
| - REDIS_ARGS=--requirepass falkordb | ||
| - FALKORDB_ARGS=THREAD_COUNT 4 | ||
| restart: unless-stopped | ||
| ``` | ||
|
|
||
| Start FalkorDB: | ||
|
|
||
| ```bash | ||
| docker-compose up -d | ||
| ``` | ||
|
|
||
| Stop FalkorDB: | ||
|
|
||
| ```bash | ||
| docker-compose down | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Add reference to downloadable docker-compose templates from FalkorDB repository.
A past review comment requested adding a reference to the official docker-compose file that can be downloaded. Consider adding a note in the "Using Docker Compose" introduction pointing users to: https://github.com/FalkorDB/FalkorDB/blob/master/build/docker/docker-compose.yml
This helps users find maintained templates directly from the source repository.
I'll verify the validity of the URL mentioned in the review comment by checking if it's accessible.
---
🏁 Script executed:
```shell
#!/bin/bash
# Verify if the suggested GitHub URL is accessible
curl -s -I "https://github.com/FalkorDB/FalkorDB/blob/master/build/docker/docker-compose.yml" | head -n 1
Length of output: 11
Add reference to the official FalkorDB docker-compose template in the "Using Docker Compose" section.
The suggested URL is valid and accessible. Add a note pointing users to the maintained template at https://github.com/FalkorDB/FalkorDB/blob/master/build/docker/docker-compose.yml to help users find authoritative configuration examples directly from the source repository.
🤖 Prompt for AI Agents
In operations/docker.md around lines 62 to 96, the "Using Docker Compose"
section should reference the official FalkorDB docker-compose template; add a
short sentence after the example (or at the end of the section) pointing readers
to the maintained template URL
(https://github.com/FalkorDB/FalkorDB/blob/master/build/docker/docker-compose.yml)
so users can view the authoritative, up-to-date configuration in the source
repository.
| 1. **Use Environment Variables**: Store sensitive information like passwords in `.env` files or environment variables: | ||
|
|
||
| Create a `.env` file: | ||
| ``` | ||
| FALKORDB_PASSWORD=your-secure-password | ||
| FALKORDB_THREADS=8 | ||
| ``` | ||
|
|
||
| Reference in `docker-compose.yml`: | ||
| ```yaml | ||
| environment: | ||
| - REDIS_ARGS=--requirepass ${FALKORDB_PASSWORD} | ||
| - FALKORDB_ARGS=THREAD_COUNT ${FALKORDB_THREADS} | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add language identifier to environment file code block.
Line 402 contains a fenced code block without a language specifier. Add .env to clarify the file format.
Create a `.env` file:
- ```
+ \`\`\`.env
FALKORDB_PASSWORD=your-secure-password
FALKORDB_THREADS=8
- ```
+ \`\`\`🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
402-402: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
In operations/docker.md around lines 399 to 412, the fenced code block showing
environment variables is missing a language specifier; update the opening fence
to use ".env" (i.e. ``` .env) so the block is clearly marked as an env file,
leaving the contents unchanged and keeping the closing fence as ```; ensure
spacing/formatting matches surrounding markdown.
| ## 7. [Deploy FalkorDB on Railway](/operations/railway) | ||
|
|
||
| Deploy FalkorDB quickly using verified templates on Railway, a modern platform-as-a-service. Choose between single instance or cluster deployments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix hyphenation in "platform-as-a-service".
The phrase should use hyphens to connect all words in a compound modifier.
-Deploy FalkorDB quickly using verified templates on Railway, a modern form-as-a-service. Choose between single instance or cluster deployments.
+Deploy FalkorDB quickly using verified templates on Railway, a modern platform-as-a-service. Choose between single instance or cluster deployments.Committable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 LanguageTool
[grammar] ~44-~44: Use a hyphen to join words.
Context: ...form-as-a-service. Choose between single instance or cluster deployments. ## 8. ...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
In operations/index.md around lines 42 to 44, the phrase describing Railway
should use hyphens as a compound modifier; replace "a modern platform as a
service" (or any variant without full hyphenation) with "a modern
platform-as-a-service" so all words are connected with hyphens when modifying
the noun.
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Documentation: Docker and Docker Compose Usage for FalkorDB ✅
Successfully completed comprehensive documentation for running FalkorDB with Docker and Docker Compose.
Completed Tasks
Latest Changes (addressing PR feedback)
falkordb/falkordb-browseras option 3 in Docker Images sectionDocumentation Summary
Created comprehensive
/operations/docker.md(487 lines, 10KB) with:falkordb/falkordb(server + browser)falkordb/falkordb-server(server only)falkordb/falkordb-browser(browser only) ⭐ NEWFile Changes
/operations/docker.md- Added browser image, docker-compose reference, removed connection section/operations/docker.md- New comprehensive Docker documentation/operations/index.md- Added Docker section as New just-docs theme #1, renumbered all other sectionsOriginal prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.
Summary by CodeRabbit
Release Notes