Skip to content

fix: drop OBSERVABILITY_DB_PATH from .env.example to unbreak host installs - #12

Merged
opencolin merged 1 commit into
mainfrom
fix-observability-default-path
May 1, 2026
Merged

fix: drop OBSERVABILITY_DB_PATH from .env.example to unbreak host installs#12
opencolin merged 1 commit into
mainfrom
fix-observability-default-path

Conversation

@opencolin

Copy link
Copy Markdown
Owner

.env.example shipped OBSERVABILITY_DB_PATH=/app/data/observability.sqlite3,
which is the path used inside the Docker container (where ./data is
bind-mounted to /app/data). On macOS/Linux non-Docker hosts, /app is
read-only or absent. A fresh cp .env.example .env install therefore
boots cleanly until startup_event runs, at which point
observability_recorder.start() raises:

OSError: [Errno 30] Read-only file system: '/app'

and the proxy never binds to :8083.

Removing the line lets the resolution fall through to the existing
defaults that already handle both cases:

  • Non-Docker: src/core/config.py defaults to "observability.sqlite3"
    in CWD (host-writable, no /app involvement).
  • Docker: docker-compose.yml line 10 self-overrides to
    /app/data/observability.sqlite3 via
    ${OBSERVABILITY_DB_PATH:-/app/data/...} alongside the
    ./data:/app/data bind mount. The compose environment:
    block takes precedence over env_file:, so this is
    unaffected by anything in .env.

A multi-line comment in place of the removed value documents the
decision so a future contributor doesn't reintroduce it.

…talls

.env.example shipped OBSERVABILITY_DB_PATH=/app/data/observability.sqlite3,
which is the path used inside the Docker container (where ./data is
bind-mounted to /app/data). On macOS/Linux non-Docker hosts, /app is
read-only or absent. A fresh `cp .env.example .env` install therefore
boots cleanly until startup_event runs, at which point
observability_recorder.start() raises:

  OSError: [Errno 30] Read-only file system: '/app'

and the proxy never binds to :8083.

Removing the line lets the resolution fall through to the existing
defaults that already handle both cases:

  - Non-Docker: src/core/config.py defaults to "observability.sqlite3"
    in CWD (host-writable, no /app involvement).
  - Docker:     docker-compose.yml line 10 self-overrides to
                /app/data/observability.sqlite3 via
                ${OBSERVABILITY_DB_PATH:-/app/data/...} alongside the
                ./data:/app/data bind mount. The compose `environment:`
                block takes precedence over `env_file:`, so this is
                unaffected by anything in .env.

A multi-line comment in place of the removed value documents the
decision so a future contributor doesn't reintroduce it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
KiranChilledOut added a commit that referenced this pull request Apr 30, 2026
fix: differentiate model-not-found from auth/rate errors in /test-connection
@opencolin
opencolin merged commit 1244cea into main May 1, 2026
3 checks passed
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.

1 participant