Skip to content

Distribution: start from the published image instead of building it - #14

Merged
MR-TABATA merged 2 commits into
mainfrom
chore/pull-not-build
Aug 23, 2026
Merged

MR-TABATA merged 2 commits into
mainfrom
chore/pull-not-build

Conversation

@MR-TABATA

Copy link
Copy Markdown
Owner

Stacked on #13 — merge that one first, then publish the image, then this.

docker compose up built the image on the user's machine: apt, then pip,
before the first screen appears, on a laptop that has no reason to compile
anything. It also meant the pull count #13 sets up to measure would stay at
zero — publishing an image nobody pulls counts nothing.

What changes

  • Compose points at jiniie/cli2ui:latest (amd64 + arm64, pushed on v*
    tags), so starting the app is a pull. CLI2UI_IMAGE in .env pins a version.
  • Building from source moves to docker-compose.override.yml.example: copy
    it and you get build: . plus the working-tree mount — the old behaviour
    with live reload. That is the development setup, and it is where it belongs.
  • The management DB moves. Dropping the .:/app mount from the default
    path would leave db.sqlite3 inside the container, so saved connections and
    auto-backups would vanish on the next up. CLI2UI_DB_PATH now points at
    /data on a named volume; the override puts it back in the project root
    where a developer can inspect or delete it from the host.
  • README and both landing pages say which of the two paths you are getting.

Verification

docker compose config resolves correctly on both paths — the base pulls the
image with cli2ui-data:/data, and with the override copied in it builds from
the tree, binds .:/app, and moves the DB back to /app/db.sqlite3.

Do not merge before the image exists

jiniie/cli2ui is not on Docker Hub yet. Merging this first would make
docker compose up fail for everyone. Land #13, run Publish image via
workflow_dispatch with tag v1.3.0 to create :latest, then merge this.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UJoGRWhksAqQttFdTZYRSm

`docker compose up` built the image on the user's machine — apt, then pip,
before the first screen appears, on a laptop that has no reason to compile
anything. It also meant the pull count the previous commit set up to measure
would stay at zero: publishing an image nobody pulls counts nothing.

Compose now points at jiniie/cli2ui:latest (amd64 and arm64, pushed on `v*`
tags), so starting the app is a pull. Building from source moves to
docker-compose.override.yml.example, where it belongs: copy it and you get
`build: .` plus the working-tree mount, i.e. the old behaviour with live
reload. CLI2UI_IMAGE in .env pins a version.

Dropping the `.:/app` mount from the default path moves the management DB, so
CLI2UI_DB_PATH now points at /data on a named volume — otherwise saved
connections and auto-backups would live inside the container and vanish on the
next `up`. The override puts it back in the project root, where a developer can
inspect or delete it from the host.

README and both landing pages say which of the two you are getting.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UJoGRWhksAqQttFdTZYRSm
@MR-TABATA
MR-TABATA force-pushed the chore/pull-not-build branch from 5e890e7 to e0f31b0 Compare August 23, 2026 01:48
@MR-TABATA
MR-TABATA changed the base branch from chore/download-metrics to main August 23, 2026 01:48
…mage

The published image is clean — CI builds from a checkout of the public repo, so
files that are only ever gitignored do not exist there. A developer's tree is
different: `COPY . .` takes whatever is sitting in it, and `.dockerignore`
listed only caches, the venv and the SQLite file.

That matters more now that `build: .` is the documented development path. A
locally built image would embed local/, .env and the editor working
directories, and that image is one `docker push` from being public.

Verified by building from this tree and listing /app: none of them land.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UJoGRWhksAqQttFdTZYRSm
@MR-TABATA
MR-TABATA merged commit 9b1ad11 into main Aug 23, 2026
@MR-TABATA
MR-TABATA deleted the chore/pull-not-build branch August 23, 2026 01:56
MR-TABATA added a commit that referenced this pull request Aug 23, 2026
配信モデルの変更と修正 2 件。

version を minor に上げたのは #14 のため。docker compose up が publish 済み
イメージの pull になり、併せて管理DBが名前付きボリューム /data へ移った。
既存チェックアウトを更新すると、プロジェクトルートに保存していた接続情報と
自動バックアップが読まれなくなる(消えるのではなく参照先が変わる)ため、
バグ修正だけの patch として出すと誤解を招く。

CHANGELOG に抜けていた #14 の Changed 項目を追加。アップグレード時の
移行手順も併記した。リンク定義に [1.3.0] が欠けていたので補った。

256 tests OK(skipped=92)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BMmHMdMVqRgBxMFj6MdLao
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