Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 28 additions & 11 deletions apps/ai-services/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,15 +1,32 @@
FROM python:3.12-slim AS base
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PIP_NO_CACHE_DIR=1
WORKDIR /app
FROM node:20-alpine AS base
RUN corepack enable

# ---- deps: install full workspace deps needed to build this service ----
FROM base AS deps
COPY apps/ai-services/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
WORKDIR /repo
COPY package.json pnpm-workspace.yaml pnpm-lock.yaml* ./
COPY services/auth/package.json services/auth/package.json
COPY config/eslint-config/package.json config/eslint-config/package.json
COPY config/typescript-config/package.json config/typescript-config/package.json
RUN pnpm install --frozen-lockfile --filter=@ai-rxos/auth...

FROM deps AS runtime
RUN useradd --create-home --uid 1000 rxos
COPY apps/ai-services/app ./app
# ---- build ----
FROM base AS build
WORKDIR /repo
COPY --from=deps /repo /repo
COPY . .
RUN pnpm --filter=@ai-rxos/auth build

# ---- runtime ----
FROM base AS runtime
WORKDIR /repo
ENV NODE_ENV=production
RUN addgroup -S rxos && adduser -S rxos -G rxos
COPY --from=build /repo/node_modules ./node_modules
COPY --from=build /repo/services/auth/node_modules ./services/auth/node_modules
COPY --from=build /repo/services/auth/package.json ./services/auth/package.json
COPY --from=build /repo/services/auth/dist ./services/auth/dist
USER rxos
EXPOSE 8090
ENV PORT=8090
CMD ["sh", "-c", "uvicorn app.main:app --host 0.0.0.0 --port ${PORT}"]
EXPOSE 8081
ENV PORT=8081
CMD ["node", "services/auth/dist/index.js"]
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ services:
POSTGRES_DB: ${POSTGRES_DB:-ai_rxos}
POSTGRES_USER: ${POSTGRES_USER:-ai_rxos}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
ports: ["5432:5432"]
ports: ["15432:5432"]
volumes:
- postgres-data:/var/lib/postgresql/data
- ./infra/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
Expand Down
Loading
Loading