[WIP] music platform user data scraper
teal-fm
atproto
1//TODO will need a node buiilder here for tailwindcss
2
3
4FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.24.3-alpine3.21 as builder
5
6ARG TARGETPLATFORM
7ARG BUILDPLATFORM
8ARG TARGETOS
9ARG TARGETARCH
10
11#needed for sqlite
12RUN apk add --update gcc musl-dev
13
14# step 1. dep cache
15WORKDIR /app
16ARG TARGETPLATFORM=${BUILDPLATFORM:-linux/amd64}
17COPY go.mod go.sum ./
18RUN go mod download
19
20# step 2. build the actual app
21WORKDIR /app
22COPY . .
23#generate the jwks
24RUN go run github.com/haileyok/atproto-oauth-golang/cmd/helper generate-jwks
25RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags='-w -s -extldflags "-static"' -o main ./cmd
26ARG TARGETOS=${TARGETPLATFORM%%/*}
27ARG TARGETARCH=${TARGETPLATFORM##*/}
28
29FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine:3.21
30#Creates an empty /db folder for docker compose
31WORKDIR /db
32WORKDIR /app
33COPY --from=builder /app/main /app/main
34COPY --from=builder /app/jwks.json /app/jwks.json
35ENTRYPOINT ["/app/main"]