Skip to content

Add Docker one-command setup (bundled Ollama) + bind-host and Windows-path support - #4

Open
ariavhayempour wants to merge 3 commits into
staru09:mainfrom
ariavhayempour:main
Open

Add Docker one-command setup (bundled Ollama) + bind-host and Windows-path support#4
ariavhayempour wants to merge 3 commits into
staru09:mainfrom
ariavhayempour:main

Conversation

@ariavhayempour

Copy link
Copy Markdown

Summary

Adds a one-command Docker setup so Open-Paxel runs without a local Python/Node
toolchain, plus a few portability and config improvements found while
containerizing.

What's included

  • Docker one-command runDockerfile, docker-compose.yml,
    .dockerignore, .env.example, and README docs. Includes a bundled-Ollama
    compose profile that pulls and serves the same model the app requests.
  • Configurable bind host for serve (default 127.0.0.1, env-overridable)
    so the server can bind 0.0.0.0 inside a container.
  • Honor the selected model in the bundled Ollama containermodel
    defaults to empty ("provider default") so OPEN_PAXEL_MODEL is the single
    source of truth across the app and the container's model pull.
  • Windows path handling in repo discovery.
  • Minor cleanups (stop tracking tsbuildinfo, drop dead lines).

Tests

Adds tests/test_cli_serve.py and tests/test_config.py covering the
bind-host and config changes.

@ariavhayempour
ariavhayempour marked this pull request as ready for review June 30, 2026 18:31
@ariavhayempour

Copy link
Copy Markdown
Author

Some branch version issues which is why there are a couple repeated commits from earlier in the og main branch

@staru09

staru09 commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Thanks a lot @ariavhayempour for the PR, can you squash the commits to keep the history clean and you could also take a look at git rebase to know more about it. Once it's done I'll review the PR.

Provide a `docker compose up` workflow that runs open-paxel with an
optional bundled Ollama service (--profile ollama). Provider selection
(OpenAI / OpenRouter / Ollama) is driven entirely by env vars in
.env.example with no image rebuild, and the Docker Ollama base URL is
isolated from the non-Docker dev variable so the two never collide.
Add a --host option (and OPEN_PAXEL_HOST) for `serve` so it can bind
beyond 127.0.0.1, needed when running in a container. Make session
discovery work on POSIX paths (macOS/Linux) and Windows. Default the
model to empty so OPEN_PAXEL_MODEL is the single source of truth across
app and bundled-Ollama pull.
Drop unused imports and dead metrics/helpers flagged by lint, untrack a
stray frontend tsbuildinfo, and prune orphaned package-lock entries.
@ariavhayempour

Copy link
Copy Markdown
Author

@staru09 Should be good now! Let me know if there is anything else that needs to be fixed.

@ariavhayempour

Copy link
Copy Markdown
Author

@staru09 updates?

@staru09

staru09 commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Hii @ariavhayempour thanks for the contribution, would you mind squashing the commits for a clean commit history.

@staru09

staru09 commented Aug 4, 2026

Copy link
Copy Markdown
Owner

can you also attach a demo video with the changes that you've made?

Comment thread docker-compose.yml
# Host Claude sessions, read-only. Mounted at the container user's
# $HOME/.claude (HOME=/home/app) because discovery reads
# Path.home()/.claude/projects. (~ is NOT expanded by compose — use ${HOME}.)
- "${HOME}/.claude:/home/app/.claude:ro"

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Windows use a different file-format for storage

Comment thread docker-compose.yml
- "openpaxel-data:/data"

# Bundled local LLM — only starts with `docker compose --profile ollama up`.
ollama:

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make Ollama profile ready (depends_on / wait) or drop bundled Ollama from compose and document host LLM only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants