Updated Docker configs to use Air for auto-reloading
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Gregory Ballantine
2026-07-24 12:01:20 -04:00
parent 58dd358acb
commit 4e0223052e
4 changed files with 32 additions and 1 deletions
+21
View File
@@ -0,0 +1,21 @@
[build]
# Tell Air to use your Makefile build target directly!
cmd = "make build BUILD_DIR=/tmp"
# Tell Air where your compiled binary ends up
bin = "/tmp/blt"
# Watch these extensions and ignore these paths
include_ext = ["go", "tpl", "tmpl", "html"]
exclude_dir = ["assets", "tmp", "bin", "node_modules", "public"]
# Delay before rebuilding after a file save (ms)
delay = 500
[log]
time = false
[color]
main = "magenta"
build = "yellow"
runner = "green"
+6
View File
@@ -4,8 +4,14 @@ WORKDIR /app
RUN apt install -y make gcc
# Make sure /app is safe regardless of who owns it
RUN git config --global --add safe.directory /app
ENV CGO_ENABLED=1
# Install Air for auto-reloading
RUN go install github.com/air-verse/air@latest
# Copy dependency definitions first (caching optimization)
COPY go.mod go.sum ./
RUN go mod download
+4
View File
@@ -20,6 +20,10 @@ build:
run:
$(BUILD_DIR)/$(NAME)
watch:
@echo "Starting hot-reload watcher..."
@air
.PHONY: help
all: help
# help: show this help message
+1 -1
View File
@@ -3,7 +3,7 @@ services:
build:
context: .
dockerfile: Dockerfile.dev
command: make run BUILD_DIR=/tmp
command: make watch
ports:
- "2830:2830"
volumes: