diff --git a/apps/media-server/railway.toml b/apps/media-server/railway.toml index 559178f4da0..a853244bb9f 100644 --- a/apps/media-server/railway.toml +++ b/apps/media-server/railway.toml @@ -1,5 +1,5 @@ [build] -dockerfilePath = "apps/media-server/Dockerfile" +dockerfilePath = "Dockerfile.standalone" [deploy] startCommand = "bun run src/index.ts" diff --git a/apps/web-cluster/Dockerfile b/apps/web-cluster/Dockerfile index 41e3881d721..dfced05815f 100644 --- a/apps/web-cluster/Dockerfile +++ b/apps/web-cluster/Dockerfile @@ -8,7 +8,7 @@ COPY . . RUN corepack enable pnpm RUN echo "inject-workspace-packages=true" >> .npmrc -RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store pnpm i +RUN pnpm i RUN pnpm run --filter=@cap/web-cluster build RUN pnpm deploy --filter=@cap/web-cluster out @@ -21,8 +21,8 @@ COPY --from=builder --chown=deno:deno /app/out /app USER deno -ENTRYPOINT ["deno", "run", "--allow-all"] - EXPOSE 8080 EXPOSE 42069 EXPOSE 42169 + +CMD ["deno", "run", "--allow-all", "src/runner/index.ts"] diff --git a/apps/web-cluster/Dockerfile.shard-manager b/apps/web-cluster/Dockerfile.shard-manager new file mode 100644 index 00000000000..27232ad5534 --- /dev/null +++ b/apps/web-cluster/Dockerfile.shard-manager @@ -0,0 +1,27 @@ +FROM node:24-slim AS base +RUN corepack enable + +FROM base AS builder +WORKDIR /app +COPY . . + +RUN corepack enable pnpm + +RUN echo "inject-workspace-packages=true" >> .npmrc +RUN pnpm i + +RUN pnpm run --filter=@cap/web-cluster build +RUN pnpm deploy --filter=@cap/web-cluster out +RUN cd out && node scripts/post-deploy.ts + +FROM denoland/deno:2.5.3 AS runner +WORKDIR /app + +COPY --from=builder --chown=deno:deno /app/out /app + +USER deno + +EXPOSE 8080 +EXPOSE 42069 + +CMD ["deno", "run", "--allow-all", "src/shard-manager.ts"] diff --git a/apps/web-cluster/src/shard-manager.ts b/apps/web-cluster/src/shard-manager.ts index d1ddf618096..e2e57bfe8d6 100644 --- a/apps/web-cluster/src/shard-manager.ts +++ b/apps/web-cluster/src/shard-manager.ts @@ -6,8 +6,11 @@ import { Layer, Logger } from "effect"; import { DatabaseLive, ShardDatabaseLive } from "./shared/database.ts"; +const host = process.env.SHARD_MANAGER_HOST ?? "0.0.0.0"; + NodeClusterShardManagerSocket.layer({ storage: "sql", + host, }).pipe( Layer.provide(ShardDatabaseLive), Layer.provide(DatabaseLive), diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index 95c28bce770..bfc15f92f15 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -1,5 +1,3 @@ -# syntax=docker.io/docker/dockerfile:1 - FROM node:24-alpine AS base RUN corepack enable @@ -8,7 +6,7 @@ WORKDIR /app COPY . . RUN corepack enable pnpm -RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store pnpm i --frozen-lockfile +RUN pnpm i --frozen-lockfile ARG NEXT_PUBLIC_DOCKER_BUILD=true ENV NEXT_PUBLIC_WEB_URL=http://localhost:3000 diff --git a/packages/utils/package.json b/packages/utils/package.json index 82f842d4c57..06a3c3a80f6 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -9,7 +9,10 @@ "build": "tsdown" }, "publishConfig": { - "main": "./dist/index.js" + "main": "./dist/index.js", + "exports": { + ".": "./dist/index.js" + } }, "devDependencies": { "react": "^19.1.1",