Bluesky app fork with some witchin' additions 💫 forked from jollywhoppers.com/witchsky.app
Something went wrong. Try again.
witchsky Dockerfile
2.9 kB · 113 lines
Dockerfile
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114FROM golang:1.25-bookworm AS build-env
WORKDIR /usr/src/social-app
ENV DEBIAN_FRONTEND=noninteractive
## Node#ENV NODE_VERSION=20ENV NVM_DIR=/usr/share/nvm
## Go#ENV GODEBUG="netdns=go"ENV GOOS="linux"ENV GOARCH="amd64"ENV CGO_ENABLED=1ENV GOEXPERIMENT="loopvar"
# The latest git hash of the preview branch on render.com# https://render.com/docs/docker-secrets#environment-variables-in-docker-buildsARG RENDER_GIT_COMMIT
## Expo#ARG EXPO_PUBLIC_ENVENV EXPO_PUBLIC_ENV=${EXPO_PUBLIC_ENV:-development}ARG EXPO_PUBLIC_RELEASE_VERSIONENV EXPO_PUBLIC_RELEASE_VERSION=$EXPO_PUBLIC_RELEASE_VERSIONARG EXPO_PUBLIC_BUNDLE_IDENTIFIER# If not set by GitHub workflows, we're probably in RenderENV EXPO_PUBLIC_BUNDLE_IDENTIFIER=${EXPO_PUBLIC_BUNDLE_IDENTIFIER:-$RENDER_GIT_COMMIT}
## Sentry#ARG SENTRY_AUTH_TOKENENV SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN:-unknown}ARG EXPO_PUBLIC_SENTRY_DSNENV EXPO_PUBLIC_SENTRY_DSN=$EXPO_PUBLIC_SENTRY_DSN
## Copy everything into the container#COPY . .
## Generate the JavaScript webpack.#RUN mkdir --parents $NVM_DIR && \ wget \ --output-document=/tmp/nvm-install.sh \ https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh && \ bash /tmp/nvm-install.sh
RUN \. "$NVM_DIR/nvm.sh" && \ nvm install $NODE_VERSION && \ nvm use $NODE_VERSION && \ echo "Using bundle identifier: $EXPO_PUBLIC_BUNDLE_IDENTIFIER" && \ echo "EXPO_PUBLIC_ENV=$EXPO_PUBLIC_ENV" >> .env && \ echo "EXPO_PUBLIC_RELEASE_VERSION=$EXPO_PUBLIC_RELEASE_VERSION" >> .env && \ echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$EXPO_PUBLIC_BUNDLE_IDENTIFIER" >> .env && \ echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env && \ echo "EXPO_PUBLIC_SENTRY_DSN=$EXPO_PUBLIC_SENTRY_DSN" >> .env && \ npm install --global yarn && \ yarn && \ yarn intl:build 2>&1 | tee i18n.log && \ if grep -q "invalid syntax" "i18n.log"; then echo "\n\nFound compilation errors!\n\n" && exit 1; else echo "\n\nNo compile errors!\n\n"; fi && \ SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN SENTRY_RELEASE=$EXPO_PUBLIC_RELEASE_VERSION SENTRY_DIST=$EXPO_PUBLIC_BUNDLE_IDENTIFIER yarn build-web
# DEBUGRUN find ./bskyweb/static && find ./web-build/static
## Generate the bskyweb Go binary.#RUN cd bskyweb/ && \ go mod download && \ go mod verify
RUN cd bskyweb/ && \ go build \ -v \ -trimpath \ -tags timetzdata \ -o /bskyweb \ ./cmd/bskyweb
FROM debian:bookworm-slim
ENV GODEBUG=netdns=goENV TZ=Etc/UTCENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --yes \ dumb-init \ ca-certificates
ENTRYPOINT ["dumb-init", "--"]
WORKDIR /bskywebCOPY --from=build-env /bskyweb /usr/bin/bskyweb
CMD ["/usr/bin/bskyweb"]
LABEL org.opencontainers.image.source=https://github.com/bluesky-social/social-appLABEL org.opencontainers.image.description="bsky.app Web App"LABEL org.opencontainers.image.licenses=MIT
# NOOP