···11-# # syntax = docker/dockerfile:1
22-33-# # Adjust NODE_VERSION as desired
44-# ARG NODE_VERSION=18.16.0
55-# FROM node:${NODE_VERSION}-slim as base
66-77-88-99-# # Node.js app lives here
1010-# WORKDIR /app
1111-1212-# # Set production environment
1313-1414-1515-# ARG PNPM_VERSION=8.5.1
1616-# RUN npm install -g pnpm@$PNPM_VERSION
1717-1818-1919-# # Throw-away build stage to reduce size of final image
2020-# FROM base as build
2121-2222-# # Install packages needed to build node modules
2323-# RUN apt-get update -qq && \
2424-# apt-get install -y python-is-python3 pkg-config build-essential
2525-2626-# # Install node modules
2727-# COPY --link package.json pnpm-lock.yaml ./
2828-# RUN pnpm install --frozen-lockfile
2929-3030-# # Copy application code
3131-# COPY --link . .
3232-3333-# # Build application
3434-# RUN pnpm run build
3535-3636-# # Remove development dependencies
3737-# RUN pnpm prune --prod
3838-3939-4040-# # Final stage for app image
4141-# FROM base
4242-4343-# # Copy built application
4444-# COPY --from=build /app /app
4545-4646-# # Start the server by default, this can be overwritten at runtime
4747-# EXPOSE 3000
4848-# CMD [ "pnpm", "run", "start" ]
4949-501FROM node:18-alpine as builder
512RUN apk add --no-cache libc6-compat
523RUN corepack enable && corepack prepare pnpm@latest --activate
+3
README.md
···11# Who's Alice
2233A custom feed for Bluesky featuring all the Alices.
44+55+Local URL: http://localhost:3000/xrpc/app.bsky.feed.getFeedSkeleton?feed=at://did:web:feeds.bsky.sh/app.bsky.feed.generator/whos-alice
66+Prod URL: http://feeds.bsky.sh/xrpc/app.bsky.feed.getFeedSkeleton?feed=at://did:web:feeds.bsky.sh/app.bsky.feed.generator/whos-alice
+4-1
src/index.ts
···11import dotenv from 'dotenv'
22import FeedGenerator from './server'
33+import { AddressInfo } from 'net'
3445const run = async () => {
56 dotenv.config()
···1718 })
1819 await server.start()
1920 console.log(
2020- `🤖 running feed generator at http://${server.cfg.hostname}:${server.cfg.port}`,
2121+ `🤖 running feed generator at http://${server.cfg.hostname}:${
2222+ server.cfg.port
2323+ }, bound to ${(server.server?.address() as AddressInfo).address}`,
2124 )
2225}
2326