forked from
j4ck.xyz/tweets2bsky
A simple tool which lets you scrape twitter accounts and crosspost them to bluesky accounts! Comes with a CLI and a webapp for managing profiles! Works with images/videos/link embeds/threads.
1# ── Build stage ──────────────────────────────────────────────────────────────
2FROM node:22-slim AS builder
3
4RUN apt-get update && apt-get install -y --no-install-recommends \
5 python3 make g++ \
6 && rm -rf /var/lib/apt/lists/*
7
8WORKDIR /app
9
10COPY package*.json ./
11RUN npm ci
12
13COPY . .
14RUN npm run build
15
16# Prune dev dependencies before copying to runtime stage
17RUN npm prune --omit=dev
18
19# ── Runtime stage ─────────────────────────────────────────────────────────────
20FROM node:22-slim
21
22WORKDIR /app
23
24COPY --from=builder /app/dist ./dist
25COPY --from=builder /app/node_modules ./node_modules
26COPY --from=builder /app/package.json ./package.json
27
28# PORT is injected by Coolify — default to 3000 as fallback
29ENV NODE_ENV=production \
30 PORT=3000 \
31 HOST=0.0.0.0
32
33EXPOSE 3000
34
35CMD ["node", "dist/index.js"]