Bluesky app fork with some witchin' additions 馃挮 witchsky.app
bluesky fork client
117
fork

Configure Feed

Select the types of activity you want to include in your feed.

at ea831047bf9500df24ed3daad41e4c21ab39d274 123 lines 3.3 kB view raw
1FROM golang:1.26-bookworm AS build-env 2 3WORKDIR /usr/src/social-app 4 5ENV DEBIAN_FRONTEND=noninteractive 6 7# 8# Node 9# 10ENV NODE_VERSION=20 11ENV NVM_DIR=/usr/share/nvm 12 13# 14# Go 15# 16ENV GODEBUG="netdns=go" 17ENV GOOS="linux" 18ENV GOARCH="amd64" 19ENV CGO_ENABLED=1 20ENV GOEXPERIMENT="loopvar" 21 22# The latest git hash of the preview branch on render.com 23# https://render.com/docs/docker-secrets#environment-variables-in-docker-builds 24ARG RENDER_GIT_COMMIT 25 26# 27# Expo 28# 29ARG EXPO_PUBLIC_ENV 30ENV EXPO_PUBLIC_ENV=${EXPO_PUBLIC_ENV:-development} 31ARG EXPO_PUBLIC_RELEASE_VERSION 32ENV EXPO_PUBLIC_RELEASE_VERSION=$EXPO_PUBLIC_RELEASE_VERSION 33ARG EXPO_PUBLIC_BUNDLE_IDENTIFIER 34# If not set by GitHub workflows, we're probably in Render 35ENV EXPO_PUBLIC_BUNDLE_IDENTIFIER=${EXPO_PUBLIC_BUNDLE_IDENTIFIER:-$RENDER_GIT_COMMIT} 36 37# 38# Sentry 39# 40ARG SENTRY_AUTH_TOKEN 41ENV SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN:-unknown} 42ARG EXPO_PUBLIC_SENTRY_DSN 43ENV EXPO_PUBLIC_SENTRY_DSN=$EXPO_PUBLIC_SENTRY_DSN 44 45# 46# OAuth 47# 48ARG EXPO_PUBLIC_OAUTH_BASE_URL 49ENV EXPO_PUBLIC_OAUTH_BASE_URL=${EXPO_PUBLIC_OAUTH_BASE_URL:-https://witchsky.app} 50ARG EXPO_PUBLIC_OAUTH_CLIENT_NAME 51ENV EXPO_PUBLIC_OAUTH_CLIENT_NAME=${EXPO_PUBLIC_OAUTH_CLIENT_NAME:-Witchsky} 52 53# 54# Copy everything into the container 55# 56COPY . . 57 58# 59# Generate the JavaScript webpack. 60# 61RUN mkdir --parents $NVM_DIR && \ 62 wget \ 63 --output-document=/tmp/nvm-install.sh \ 64 https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh && \ 65 bash /tmp/nvm-install.sh 66 67RUN \. "$NVM_DIR/nvm.sh" && \ 68 nvm install $NODE_VERSION && \ 69 nvm use $NODE_VERSION && \ 70 echo "Using bundle identifier: $EXPO_PUBLIC_BUNDLE_IDENTIFIER" && \ 71 echo "EXPO_PUBLIC_ENV=$EXPO_PUBLIC_ENV" >> .env && \ 72 echo "EXPO_PUBLIC_RELEASE_VERSION=$EXPO_PUBLIC_RELEASE_VERSION" >> .env && \ 73 echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$EXPO_PUBLIC_BUNDLE_IDENTIFIER" >> .env && \ 74 echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env && \ 75 echo "EXPO_PUBLIC_SENTRY_DSN=$EXPO_PUBLIC_SENTRY_DSN" >> .env && \ 76 echo "EXPO_PUBLIC_OAUTH_BASE_URL=$EXPO_PUBLIC_OAUTH_BASE_URL" >> .env && \ 77 echo "EXPO_PUBLIC_OAUTH_CLIENT_NAME=$EXPO_PUBLIC_OAUTH_CLIENT_NAME" >> .env && \ 78 npm install --global pnpm@10.33.0 && \ 79 pnpm install && \ 80 pnpm intl:build 2>&1 | tee i18n.log && \ 81 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 && \ 82 SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN SENTRY_RELEASE=$EXPO_PUBLIC_RELEASE_VERSION SENTRY_DIST=$EXPO_PUBLIC_BUNDLE_IDENTIFIER pnpm build-web 83 84# DEBUG 85RUN find ./bskyweb/static && find ./web-build/static 86 87# 88# Generate the bskyweb Go binary. 89# 90RUN cd bskyweb/ && \ 91 go mod download && \ 92 go mod verify 93 94RUN cd bskyweb/ && \ 95 go build \ 96 -v \ 97 -trimpath \ 98 -tags timetzdata \ 99 -o /bskyweb \ 100 ./cmd/bskyweb 101 102FROM debian:bookworm-slim 103 104ENV GODEBUG=netdns=go 105ENV TZ=Etc/UTC 106ENV DEBIAN_FRONTEND=noninteractive 107 108RUN apt-get update && apt-get install --yes \ 109 dumb-init \ 110 ca-certificates 111 112ENTRYPOINT ["dumb-init", "--"] 113 114WORKDIR /bskyweb 115COPY --from=build-env /bskyweb /usr/bin/bskyweb 116 117CMD ["/usr/bin/bskyweb"] 118 119LABEL org.opencontainers.image.source=https://github.com/bluesky-social/social-app 120LABEL org.opencontainers.image.description="bsky.app Web App" 121LABEL org.opencontainers.image.licenses=MIT 122 123# NOOP