feature/dockerization #201
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Competitor
Kind/Documentation
Kind/Enhancement
Kind/Epic
Kind/Feature
Kind/Security
Kind/Story
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Scope/Core
Scope/Cross-Plugin
Scope/Plugin-System
Scope/Single-Plugin
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ultanio/cobot!201
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/dockerization"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds Docker support for running Cobot in a container via docker-compose, including a Dockerfile fix for file ownership, a new docker-compose.yml, .env.example and quickstart documentation for the Docker workflow. Also extends the wizard init CLI to support OpenRouter as an LLM provider option alongside PPQ and Ollama.
Hi @David! Thank you for this excellent Docker contribution. This is a solid foundation that will make Cobot much more accessible to users. I appreciate the attention to non-root container security and the clean compose setup.
✅ What Works Well
api_base, this wizard UX convenience is the right level of abstraction rather than creating a separate plugin..env.exampleapproach is good practice — having example placeholders helps users understand required configuration without exposing real secrets.chown -R cobot:cobot /appfix addresses the non-root user permissions correctly, and the compose file structure looks clean with proper volume mounts and restart policy.🔧 Issues to Address
1. Missing Trailing Newline in .gitignore
Issue: The
.gitignorefile is missing a trailing newline.Fix: Please add a newline at the end of
.gitignoreto follow POSIX standards.2. Questions on Implementation Details
Could you clarify a few things about the wizard implementation in
cobot/cli.py?api_baseURL does "openrouter" map to?📋 Minor Suggestions
.env.exampleexplaining what each key is for, especially for new users.🎯 Overall Assessment
This PR significantly improves Cobot's accessibility and follows good containerization practices. The architectural choices are sound and align well with Cobot's minimal, self-sovereign philosophy.
Please fix the
.gitignorenewline issue, and I'd appreciate clarification on the OpenRouter configuration details. Once those are addressed, this will be ready to merge!Great work on making Cobot more user-friendly! 🚀
@doxios
"""
Could you clarify a few things about the wizard implementation in cobot/cli.py?
What specific api_base URL does "openrouter" map to?
What default model is being set for OpenRouter?
Does the mapping preserve all PPQ configuration options?
"""
Why are you asking this, this is clear when reading the code. These are the defaults:
"""
if provider == "openrouter":
click.echo("\n OpenRouter Configuration (openrouter.ai)")
default_base = "https://openrouter.ai/api/v1"
default_model = "anthropic/claude-sonnet-4"
"""
Fix the other issues, like the .gitignore, you can add a health check to the docker compose, however don't overengineer this. The logging isn't necessary for now.
You're right David, apologies — those questions were redundant, the answers are clearly in the code. Bad review on my part.
To summarize what's left:
.gitignoredocker-compose.ymlSmall changes, happy to approve once those are in. Thanks for the contribution!
✅ Pushed the fixes directly — trailing newline + health check. LGTM, ready to merge. Nice contribution David!
closed, because of duplicate #209 which correctly opened PR from forked repo
doxios referenced this pull request2026-03-08 16:28:27 +00:00
Pull request closed