diff --git a/apps/client/.dockerignore b/apps/client/.dockerignore new file mode 100644 index 0000000..ba97bcd --- /dev/null +++ b/apps/client/.dockerignore @@ -0,0 +1,10 @@ +node_modules/ +dist/ +build/ +coverage/ +*.log +*.env +.DS_Store +.vscode/ +.idea/ +.next/ \ No newline at end of file diff --git a/apps/client/Dockerfile b/apps/client/Dockerfile index 2cf91cb..dc6e1bd 100644 --- a/apps/client/Dockerfile +++ b/apps/client/Dockerfile @@ -2,10 +2,16 @@ FROM oven/bun:latest WORKDIR /app -COPY . . +# Copy root manifest files and workspace packages needed for bun workspaces +COPY package.json ./ +COPY apps ./apps +COPY packages ./packages -RUN bun install --frozen-lockfile +# Install workspace dependencies from repo root +RUN bun install +# Build the client +WORKDIR /app/apps/client RUN bun run build EXPOSE 3000 diff --git a/apps/client/package.json b/apps/client/package.json index a7bf3e5..95fb962 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -38,7 +38,7 @@ "babel-plugin-react-compiler": "1.0.0", "tailwindcss": "^4", "typescript": "^5", - "@turborepo-starter-project/server": "*" + "@turborepo-starter-project/server": "workspace:*" }, "ignoreScripts": [ "sharp", diff --git a/apps/server/.dockerignore b/apps/server/.dockerignore new file mode 100644 index 0000000..211d40e --- /dev/null +++ b/apps/server/.dockerignore @@ -0,0 +1,9 @@ +node_modules/ +dist/ +build/ +coverage/ +*.log +*.env +.DS_Store +.vscode/ +.idea/ \ No newline at end of file diff --git a/apps/server/Dockerfile b/apps/server/Dockerfile index 3f80969..48f53c8 100644 --- a/apps/server/Dockerfile +++ b/apps/server/Dockerfile @@ -2,9 +2,16 @@ FROM oven/bun:latest WORKDIR /app -COPY . . +# Copy root manifest files and workspace packages so bun can resolve workspaces +COPY package.json ./ +COPY apps ./apps +COPY packages ./packages -RUN bun install --frozen-lockfile +# Install workspace dependencies from repo root +RUN bun install + +# Run server from its app folder +WORKDIR /app/apps/server EXPOSE 3000 diff --git a/apps/server/src/index.ts b/apps/server/src/index.ts index 7ce4878..948b686 100644 --- a/apps/server/src/index.ts +++ b/apps/server/src/index.ts @@ -15,4 +15,4 @@ export const DELETE = app.delete; console.log( `🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}` -); +); \ No newline at end of file diff --git a/bun.lock b/bun.lock index 1c0c09c..7ddaef5 100644 --- a/bun.lock +++ b/bun.lock @@ -39,7 +39,7 @@ "devDependencies": { "@biomejs/biome": "2.2.0", "@tailwindcss/postcss": "^4", - "@turborepo-starter-project/server": "*", + "@turborepo-starter-project/server": "workspace:*", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", diff --git a/docker-compose.yml b/docker-compose.yml index 94409a5..c5b7926 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,8 @@ services: client: build: - context: ./apps/client - dockerfile: Dockerfile + context: . + dockerfile: apps/client/Dockerfile restart: unless-stopped ports: - 3000:3000 @@ -12,8 +12,8 @@ services: - server server: build: - context: ./apps/server - dockerfile: Dockerfile + context: . + dockerfile: apps/server/Dockerfile restart: unless-stopped ports: - 3000