Skip to content

Added a Multi-stage Dockerfile for the Go-based CLI #45

Merged
kavix merged 1 commit into
kavix:mainfrom
KRC00112:feat/dockerize-cli
Jun 19, 2026
Merged

Added a Multi-stage Dockerfile for the Go-based CLI #45
kavix merged 1 commit into
kavix:mainfrom
KRC00112:feat/dockerize-cli

Conversation

@KRC00112

@KRC00112 KRC00112 commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Addressing #25

  • build stage uses golang:1.26-alpine as base image and installs gcc and musl-dev for CGO support which is required by github.com/mattn/go-sqlite3, then compiles the binary with CGO_ENABLED=1 and -tags no_gui to produce a CLI build.

  • build-release stage uses alpine:latest as the base minimal runtime image, copies the compiled binary and exposes port 7700

Final image size came out to be 26.77 MB

Build the image using: docker build -t eko-cli .
Run the container using: docker run --name <desired name of your choosing> eko-cli

A help menu will be shown to you. Displayed CLI commands can be run using:
docker run --name <desired name of your choosing> eko-cli /eko <listed command argument(ex: init)>

After reviewing the codebase, there is no HTTP server implementation. internal/api/ contains only diffing logic, and the CLI communicates with the UI exclusively via Wails bindings.

@kavix kavix merged commit b6ce801 into kavix:main Jun 19, 2026
2 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.

2 participants