diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..05fcdfc --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM docker.io/golang:1.20 as builder + +WORKDIR /app + +COPY . ./ +RUN go mod download + +RUN CGO_ENABLED=0 GOOS=linux go build -o /sanic + +# ----- + +FROM builder AS tester + +RUN go test -v ./... + +# ----- + +FROM scratch as runner + +WORKDIR / + +COPY --from=builder /sanic /sanic +COPY --from=builder /app/static /static + +EXPOSE 8080 + +ENTRYPOINT ["/sanic"] diff --git a/Makefile b/Makefile index 7b566c5..c44171c 100644 --- a/Makefile +++ b/Makefile @@ -2,3 +2,25 @@ mpd: mkdir -p /tmp/sanic/{music,playlists} touch /tmp/sanic/mpd_db mpd --no-daemon ./mpd.conf + +run: build + ./server + +build: + go build -v -o sanic + +tidy: ## add missing and remove unused modules + go mod tidy + +verify: ## verify dependencies have expected content + go mod verify + +test: ## run tests + go test ./... + +cert: ## create https certificate for testing + go run $GOROOT/src/crypto/tls/generate_cert.go --host localhost + +container: + podman build -t dotfiles:latest . + diff --git a/config.ini b/config.ini index 3f54744..fb5ddb1 100644 --- a/config.ini +++ b/config.ini @@ -5,7 +5,7 @@ port = 6600 #pasword = [ui] -hostname = localhost +hostname = 0.0.0.0 port = 8080 tls = no cert = cert.pem