Go service that connects to aisstream.io websocket, filtered by MMSIs from track_devices table. Writes positions to aisstream_pos (24h TTL) and upserts latest position per vessel to aisstream_last. Reloads MMSI list every 5 minutes to pick up changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
11 lines
289 B
Docker
11 lines
289 B
Docker
FROM golang:1.22-alpine AS builder
|
|
WORKDIR /app
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY main.go .
|
|
RUN CGO_ENABLED=0 go build -o aisstream .
|
|
|
|
FROM alpine:3.20
|
|
RUN apk add --no-cache ca-certificates tzdata
|
|
COPY --from=builder /app/aisstream /usr/local/bin/aisstream
|
|
CMD ["aisstream"]
|