All checks were successful
continuous-integration/drone/push Build is passing
38 lines
944 B
Docker
38 lines
944 B
Docker
## Build
|
|
FROM golang:1.26.0-alpine AS build
|
|
|
|
ARG VERSION='dev'
|
|
ARG TAILWIND_VERSION='v3.4.17'
|
|
ARG TEMPL_VERSION='v0.3.1001'
|
|
ARG SQLC_VERSION='v1.29.0'
|
|
|
|
RUN apk update && apk add --no-cache curl
|
|
|
|
RUN curl -fsSLo tailwindcss-linux-x64 https://github.com/tailwindlabs/tailwindcss/releases/download/${TAILWIND_VERSION}/tailwindcss-linux-x64 \
|
|
&& chmod +x tailwindcss-linux-x64 \
|
|
&& mv tailwindcss-linux-x64 /usr/local/bin/tailwindcss
|
|
|
|
RUN go install github.com/a-h/templ/cmd/templ@${TEMPL_VERSION} \
|
|
&& go install github.com/sqlc-dev/sqlc/cmd/sqlc@${SQLC_VERSION}
|
|
|
|
WORKDIR /app
|
|
|
|
COPY ./ /app
|
|
|
|
RUN templ generate -path ./components \
|
|
&& tailwindcss -i ./styles/input.css -o ./dist/assets/css/output@${VERSION}.css --minify \
|
|
&& sqlc generate
|
|
|
|
RUN go build -ldflags="-s -w -X version.Value=${VERSION}" -o my-app
|
|
|
|
## Deploy
|
|
FROM gcr.io/distroless/static-debian12
|
|
|
|
WORKDIR /
|
|
|
|
COPY --from=build /app/my-app /my-app
|
|
|
|
EXPOSE 8080
|
|
|
|
CMD ["/my-app"]
|