Add Gitea Action to build and push the image for Komodo deploys
Multi-stage Dockerfile builds the web bundle, embeds it into the static Go binary (CGO_ENABLED=0), and ships it in a minimal alpine runtime: non-root user, ca-certificates + tzdata, SQLite on a /data volume, healthcheck on /api/v1/healthz, OCI provenance labels. build-image.yml pushes to the Gitea registry on every branch push: * main -> :latest * any other branch -> :<branch-name> (sanitized to valid tag chars) * every build -> :sha-<short> (immutable, for pinning) A push to a PR branch covers the PR, so there is no separate pull_request trigger. README documents the image, tags, and a docker run / Komodo compose snippet. Modeled on mort's CI. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01JdQpdYYsTgtkJBxbcpAszi
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# VCS / editor / docs — not needed in the image build context.
|
||||
.git
|
||||
.gitea
|
||||
.github
|
||||
.idea
|
||||
.vscode
|
||||
*.md
|
||||
LICENSE
|
||||
|
||||
# Local build outputs and databases.
|
||||
/pansy
|
||||
*.db
|
||||
*.db-wal
|
||||
*.db-shm
|
||||
|
||||
# Frontend deps/output are rebuilt inside the image's web stage.
|
||||
web/node_modules
|
||||
web/dist
|
||||
|
||||
# The embedded web build is produced fresh in the image (web stage → embed
|
||||
# directory), so never ship stale local contents. dist.go itself is kept.
|
||||
internal/webdist/dist
|
||||
|
||||
# Assorted local scratch.
|
||||
.playwright-mcp
|
||||
.claude
|
||||
Reference in New Issue
Block a user