my fork of the bluesky client
at main 1.9 kB view raw
1FROM golang:1.22-bullseye AS build-env 2 3WORKDIR /usr/src/social-app 4 5ENV DEBIAN_FRONTEND=noninteractive 6 7# Node 8ENV NODE_VERSION=20 9ENV NVM_DIR=/usr/share/nvm 10 11# Go 12ENV GODEBUG="netdns=go" 13ENV GOOS="linux" 14ENV GOARCH="amd64" 15ENV CGO_ENABLED=1 16ENV GOEXPERIMENT="loopvar" 17 18# Expo 19ARG EXPO_PUBLIC_BUNDLE_IDENTIFIER 20ENV EXPO_PUBLIC_BUNDLE_IDENTIFIER=${EXPO_PUBLIC_BUNDLE_IDENTIFIER:-dev} 21 22COPY . . 23 24# 25# Generate the JavaScript webpack. 26# 27RUN mkdir --parents $NVM_DIR && \ 28 wget \ 29 --output-document=/tmp/nvm-install.sh \ 30 https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh && \ 31 bash /tmp/nvm-install.sh 32 33RUN \. "$NVM_DIR/nvm.sh" && \ 34 nvm install $NODE_VERSION && \ 35 nvm use $NODE_VERSION && \ 36 echo "Using bundle identifier: $EXPO_PUBLIC_BUNDLE_IDENTIFIER" && \ 37 echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$EXPO_PUBLIC_BUNDLE_IDENTIFIER" >> .env && \ 38 echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env && \ 39 npm install --global yarn && \ 40 yarn && \ 41 yarn intl:build && \ 42 EXPO_PUBLIC_BUNDLE_IDENTIFIER=$EXPO_PUBLIC_BUNDLE_IDENTIFIER EXPO_PUBLIC_BUNDLE_DATE=$() yarn build-web 43 44# DEBUG 45RUN find ./bskyweb/static && find ./web-build/static 46 47# 48# Generate the bskyweb Go binary. 49# 50RUN cd bskyweb/ && \ 51 go mod download && \ 52 go mod verify 53 54RUN cd bskyweb/ && \ 55 go build \ 56 -v \ 57 -trimpath \ 58 -tags timetzdata \ 59 -o /bskyweb \ 60 ./cmd/bskyweb 61 62FROM debian:bullseye-slim 63 64ENV GODEBUG=netdns=go 65ENV TZ=Etc/UTC 66ENV DEBIAN_FRONTEND=noninteractive 67 68RUN apt-get update && apt-get install --yes \ 69 dumb-init \ 70 ca-certificates 71 72ENTRYPOINT ["dumb-init", "--"] 73 74WORKDIR /bskyweb 75COPY --from=build-env /bskyweb /usr/bin/bskyweb 76 77CMD ["/usr/bin/bskyweb"] 78 79LABEL org.opencontainers.image.source=https://github.com/bluesky-social/social-app 80LABEL org.opencontainers.image.description="bsky.app Web App" 81LABEL org.opencontainers.image.licenses=MIT 82 83# NOOP