Build and push server image / build-and-push (push) Failing after 10s
Docker defaults to HTTPS for any non-docker.io registry, and 10.0.0.246:3000 (a bare LAN IP:port) isn't serving valid HTTPS -- the push kept going out over HTTPS and failing. Adds a buildkitd config telling BuildKit specifically to use HTTP for that host. This only fixes the actual build+push step (BuildKit). The "Log in" step runs a plain `docker login` through the classic Docker CLI/daemon instead, which doesn't read this config -- that one still needs 10.0.0.246:3000 added to "insecure-registries" in the actual Docker daemon's /etc/docker/daemon.json on whatever host runs the Gitea Actions runner, followed by a daemon restart. That's runner-host infrastructure outside this repo.
56 lines
2.1 KiB
YAML
56 lines
2.1 KiB
YAML
name: Build and push server image
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- "server/**"
|
|
- ".gitea/workflows/server-docker-build.yml"
|
|
|
|
jobs:
|
|
build-and-push:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
with:
|
|
# 10.0.0.246:3000 is plain HTTP (a bare LAN IP:port, no TLS cert
|
|
# would validate for it), but BuildKit defaults to HTTPS for any
|
|
# registry that isn't docker.io. This tells BuildKit specifically
|
|
# to skip that for this one host. NOTE: this only covers the
|
|
# actual build+push (BuildKit). The "Log in" step below runs a
|
|
# plain `docker login`, which goes through the classic Docker
|
|
# CLI/daemon instead of BuildKit and does NOT read this config --
|
|
# that one only works once the Docker daemon backing this runner
|
|
# has 10.0.0.246:3000 listed under "insecure-registries" in its
|
|
# own /etc/docker/daemon.json (then `systemctl restart docker`).
|
|
# That's runner-host infrastructure this repo can't configure.
|
|
config-inline: |
|
|
[registry."10.0.0.246:3000"]
|
|
http = true
|
|
insecure = true
|
|
|
|
- name: Log in to local Gitea Container Registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
# Pushed here instead of git.thumeit.com (still the source repo,
|
|
# just not the image registry anymore) -- since whiteboard mode
|
|
# added Node + native resvg bindings, the image grew past
|
|
# Cloudflare's payload-size limit in front of that host and
|
|
# every push 413'd. This LAN address has nothing in front of it.
|
|
registry: 10.0.0.246:3000
|
|
username: tfaour
|
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
|
|
|
- name: Build and push
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: ./server
|
|
push: true
|
|
tags: |
|
|
10.0.0.246:3000/tfaour/espresso-frame-server:latest
|
|
10.0.0.246:3000/tfaour/espresso-frame-server:${{ gitea.sha }}
|