Exosphere is a set of small, modular, self-hostable community tools built on the AT Protocol. app.exosphere.site
at main 29 lines 1.0 kB view raw
1FROM oven/bun:1 AS base 2 3WORKDIR /app 4 5# Install dependencies 6FROM base AS deps 7COPY package.json bun.lock ./ 8COPY packages/core/package.json packages/core/package.json 9COPY packages/client/package.json packages/client/package.json 10COPY packages/indexer/package.json packages/indexer/package.json 11COPY packages/feeds/package.json packages/feeds/package.json 12COPY packages/feature-requests/package.json packages/feature-requests/package.json 13COPY packages/mcp/package.json packages/mcp/package.json 14COPY packages/app/package.json packages/app/package.json 15RUN bun install --frozen-lockfile --ignore-scripts 16 17FROM deps AS build 18COPY . . 19RUN bun run db:generate && bun run build 20 21FROM base AS production 22WORKDIR /app 23COPY --from=build /app/packages ./packages 24COPY --from=build /app/drizzle ./drizzle 25COPY package.json bun.lock ./ 26RUN bun install --frozen-lockfile --production 27ENV NODE_ENV=production 28EXPOSE 3001 29CMD ["sh", "-c", "chown -R bun:bun /data && exec su -s /bin/sh bun -c 'bun run db:migrate && bun run start'"]