-
Notifications
You must be signed in to change notification settings - Fork 53
Update docker compose #99
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
Update docker compose #99
Conversation
WalkthroughA RabbitMQ service has been added to the Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant DockerCompose
participant RabbitMQ
participant Weaviate
Developer->>DockerCompose: docker-compose up
DockerCompose->>RabbitMQ: Start container (rabbitmq:3-management)
DockerCompose->>Weaviate: Start container (existing)
RabbitMQ->>Developer: Expose AMQP (5672), Management UI (15672)
RabbitMQ->>DockerCompose: Health check (periodic)
Assessment against linked issues
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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: 0
🧹 Nitpick comments (3)
backend/docker-compose.yml (3)
26-28
: Avoid hard-codingcontainer_name
unless strictly required.Pinning
container_name: rabbitmq
prevents multiple check-outs of the stack on the same host and breaksdocker compose down --volumes
name scoping. Unless external scripts rely on the name, consider removing it.
37-42
: Make the health-check quieter & faster.
rabbitmq-diagnostics status
is verbose and exits 0 even when some subsystems are degraded. The typical pattern is:- test: ["CMD", "rabbitmq-diagnostics", "status"] + test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"]
-q ping
is faster (<1 s) and returns non-zero when the node is not running.
44-47
: Volume declaration indentationThe new
rabbitmq_data:
key should be flush withweaviate_data:
—otherwise older YAML parsers may interpret it as a child of the previous key.volumes: weaviate_data: - rabbitmq_data: + rabbitmq_data:(Only whitespace changes.)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
backend/docker-compose.yml
(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: smokeyScraper
PR: AOSSIE-Org/Devr.AI#72
File: backend/app/core/orchestration/queue_manager.py:48-66
Timestamp: 2025-06-08T13:27:45.522Z
Learning: The queue manager implementation in backend/app/core/orchestration/queue_manager.py is temporary and will be replaced with RabbitMQ in the future.
🔇 Additional comments (2)
backend/docker-compose.yml (2)
1-2
: Specify the Compose file version explicitly.The PR description states that the file was upgraded to version 3.8, but the
version: "3.8"
key is missing. While moderndocker compose
CLIs infer the latest spec, olderdocker-compose
binaries will fail to parse health-checks unless the version is declared.--- +version: "3.8" services:
28-33
: Expose credentials only when necessary.
guest/guest
is fine for local dev, but the ports are bound to the host. Anyone on the developer’s network can reach15672
and5672
.
Options:
- Bind to localhost only:
- - '5672:5672' - - '15672:15672' + - '127.0.0.1:5672:5672' + - '127.0.0.1:15672:15672'
- Or require env-file overrides for non-default creds.
Merged! @HrishikeshUchake, |
Closes #94
📝 Description
This PR introduces RabbitMQ as a first-class service in our local development Docker Compose setup. Developers can now spin up the full stack—including RabbitMQ and Weaviate—with a single:
🔧 Changes Made
Version: '3.8': Bumped Compose file format to enable healthchecks.
Added rabbitmq service under services:
Uses the official rabbitmq:3-management image
Exposes AMQP (5672) and management UI (15672) ports
Pulls credentials from environment with sensible defaults (guest/guest)
Persists broker data in a named volume (rabbitmq_data)
Defines a Docker healthcheck using rabbitmq-diagnostics status
Named volume for RabbitMQ added alongside the existing weaviate_data volume
Consistent port quoting on Weaviate service for YAML style consistency
📷 Screenshots or Visual Changes (if applicable)
✅ Checklist
Summary by CodeRabbit
New Features
Chores