Cleanup dockerfile
This commit is contained in:
+25
-21
@@ -7,56 +7,58 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|||||||
# Node
|
# Node
|
||||||
ENV NODE_VERSION=20
|
ENV NODE_VERSION=20
|
||||||
ENV NVM_DIR=/usr/share/nvm
|
ENV NVM_DIR=/usr/share/nvm
|
||||||
|
|
||||||
# Go
|
# Go
|
||||||
ENV GODEBUG="netdns=go"
|
ENV GODEBUG="netdns=go"
|
||||||
ENV GOOS="linux"
|
ENV GOOS="linux"
|
||||||
ENV GOARCH="amd64"
|
ENV GOARCH="amd64"
|
||||||
ENV CGO_ENABLED=1
|
ENV CGO_ENABLED=1
|
||||||
ENV GOEXPERIMENT="loopvar"
|
ENV GOEXPERIMENT="loopvar"
|
||||||
|
# App
|
||||||
# Expo
|
|
||||||
ARG EXPO_PUBLIC_BUNDLE_IDENTIFIER
|
ARG EXPO_PUBLIC_BUNDLE_IDENTIFIER
|
||||||
ENV EXPO_PUBLIC_BUNDLE_IDENTIFIER=${EXPO_PUBLIC_BUNDLE_IDENTIFIER:-dev}
|
ENV EXPO_PUBLIC_BUNDLE_IDENTIFIER=${EXPO_PUBLIC_BUNDLE_IDENTIFIER:-dev}
|
||||||
ENV EXPO_PUBLIC_APPVIEW_DID=${APPVIEW_DID}
|
ENV EXPO_PUBLIC_APPVIEW_DID=${APPVIEW_DID}
|
||||||
ENV APPVIEW_HOST=${APPVIEW_HOST}
|
ENV EXPO_PUBLIC_APPVIEW_DID=${APPVIEW_HOST}
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
#
|
# Install NVM
|
||||||
# Generate the JavaScript webpack.
|
|
||||||
#
|
|
||||||
RUN mkdir --parents $NVM_DIR && \
|
RUN mkdir --parents $NVM_DIR && \
|
||||||
wget \
|
wget \
|
||||||
--output-document=/tmp/nvm-install.sh \
|
--output-document=/tmp/nvm-install.sh \
|
||||||
https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh && \
|
https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh && \
|
||||||
bash /tmp/nvm-install.sh
|
bash /tmp/nvm-install.sh
|
||||||
|
|
||||||
|
# Install Node and dependencies
|
||||||
RUN \. "$NVM_DIR/nvm.sh" && \
|
RUN \. "$NVM_DIR/nvm.sh" && \
|
||||||
nvm install $NODE_VERSION && \
|
nvm install $NODE_VERSION && \
|
||||||
nvm use $NODE_VERSION && \
|
nvm use $NODE_VERSION && \
|
||||||
echo "Using bundle identifier: $EXPO_PUBLIC_BUNDLE_IDENTIFIER" && \
|
|
||||||
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$EXPO_PUBLIC_BUNDLE_IDENTIFIER" >> .env && \
|
|
||||||
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env && \
|
|
||||||
npm install --global yarn && \
|
npm install --global yarn && \
|
||||||
yarn && \
|
yarn
|
||||||
yarn intl:build && \
|
|
||||||
EXPO_PUBLIC_APPVIEW_DID=$APPVIEW_DID EXPO_PUBLIC_BUNDLE_IDENTIFIER=$EXPO_PUBLIC_BUNDLE_IDENTIFIER EXPO_PUBLIC_BUNDLE_DATE=$() yarn build-web
|
|
||||||
|
|
||||||
# DEBUG
|
# Debug
|
||||||
|
RUN \
|
||||||
|
echo "Using bundle identifier: $EXPO_PUBLIC_BUNDLE_IDENTIFIER" && \
|
||||||
|
echo "Using appview did: $EXPO_PUBLIC_APPVIEW_DID"
|
||||||
|
|
||||||
|
# Build the app
|
||||||
|
RUN \
|
||||||
|
yarn intl:build && \
|
||||||
|
EXPO_PUBLIC_ENV=production \
|
||||||
|
EXPO_PUBLIC_APPVIEW_DID=$EXPO_PUBLIC_APPVIEW_DID \
|
||||||
|
EXPO_PUBLIC_BUNDLE_IDENTIFIER=$EXPO_PUBLIC_BUNDLE_IDENTIFIER \
|
||||||
|
EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H") \
|
||||||
|
yarn build-web
|
||||||
|
|
||||||
|
# Debug
|
||||||
RUN find ./bskyweb/static && find ./web-build/static
|
RUN find ./bskyweb/static && find ./web-build/static
|
||||||
|
|
||||||
#
|
|
||||||
# Generate the bskyweb Go binary.
|
# Generate the bskyweb Go binary.
|
||||||
#
|
|
||||||
RUN cd bskyweb/ && \
|
RUN cd bskyweb/ && \
|
||||||
go mod download && \
|
go mod download && \
|
||||||
go mod verify && \
|
go mod verify && \
|
||||||
echo "GOLOG_LOG_LEVEL=info" >> .env && \
|
echo "GOLOG_LOG_LEVEL=info" >> .env && \
|
||||||
echo "ATP_APPVIEW_HOST=$APPVIEW_HOST" >> .env
|
echo "ATP_APPVIEW_HOST=$APPVIEW_HOST" >> .env
|
||||||
|
|
||||||
RUN cat ./bskyweb/.env
|
|
||||||
|
|
||||||
RUN cd bskyweb/ && \
|
RUN cd bskyweb/ && \
|
||||||
go build \
|
go build \
|
||||||
-v \
|
-v \
|
||||||
@@ -65,6 +67,10 @@ RUN cd bskyweb/ && \
|
|||||||
-o /bskyweb \
|
-o /bskyweb \
|
||||||
./cmd/bskyweb
|
./cmd/bskyweb
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build the final image.
|
||||||
|
#
|
||||||
|
|
||||||
FROM debian:bullseye-slim
|
FROM debian:bullseye-slim
|
||||||
|
|
||||||
ENV GODEBUG=netdns=go
|
ENV GODEBUG=netdns=go
|
||||||
@@ -83,7 +89,5 @@ COPY --from=build-env /bskyweb /usr/bin/bskyweb
|
|||||||
CMD ["/usr/bin/bskyweb", "serve"]
|
CMD ["/usr/bin/bskyweb", "serve"]
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source=https://github.com/bluesky-social/social-app
|
LABEL org.opencontainers.image.source=https://github.com/bluesky-social/social-app
|
||||||
LABEL org.opencontainers.image.description="bsky.app Web App"
|
LABEL org.opencontainers.image.description="Self-hosted Bluesky web app"
|
||||||
LABEL org.opencontainers.image.licenses=MIT
|
LABEL org.opencontainers.image.licenses=MIT
|
||||||
|
|
||||||
# NOOP
|
|
||||||
|
|||||||
Reference in New Issue
Block a user