Bluesky app fork with some witchin' additions 馃挮
0
fork

Configure Feed

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

at cope-settings-sync 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