This commit is contained in:
2026-07-17 15:13:26 +05:30
parent 3775359ab2
commit 66f7cd345c
6 changed files with 148 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
**/.git
**/.github
**/.venv
**/node_modules
**/dist
**/build
**/out
**/__pycache__
**/*.pyc
**/*.pyo
**/*.pyd
**/*.log
**/.DS_Store
**/Thumbs.db
**/.vscode
**/.idea
**/coverage
**/tmp
**/.pytest_cache
**/.mypy_cache
**/.ruff_cache
**/CMakeUserPresets.json
**/compile_commands.json
**/vcpkg
**/third_party/pdfium/depot_tools
**/third_party/pdfium/checkout
**/third_party/pdfium/install
**/third_party/skia/depot_tools
**/third_party/skia/checkout
**/third_party/skia/install
+40
View File
@@ -0,0 +1,40 @@
services:
gateway:
build:
context: ./gateway
dockerfile: Dockerfile
image: pdf-engine-gateway:dev
container_name: pdf-engine-gateway
environment:
PDFENGINE_ENVIRONMENT: dev
PDFENGINE_ENGINE_AVAILABLE: "false"
PORT: 8000
ports:
- "8000:8000"
volumes:
- ./gateway:/home/app
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health').read()" ]
interval: 20s
timeout: 5s
retries: 5
start_period: 10s
restart: unless-stopped
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
target: development
image: pdf-engine-frontend:dev
container_name: pdf-engine-frontend
environment:
VITE_GATEWAY_URL: http://gateway:8000
ports:
- "5173:5173"
volumes:
- ./frontend:/app
- /app/node_modules
depends_on:
- gateway
restart: unless-stopped
+7
View File
@@ -0,0 +1,7 @@
node_modules/
dist/
.vite/
.git/
.gitignore
*.log
.DS_Store
+20
View File
@@ -0,0 +1,20 @@
FROM node:20-alpine AS base
ENV NODE_ENV=development
WORKDIR /app
COPY package*.json ./
RUN npm ci
FROM base AS development
COPY . .
EXPOSE 5173
CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "5173"]
FROM base AS build
COPY . .
RUN npm run build
FROM nginx:1.27-alpine AS production
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
+13
View File
@@ -0,0 +1,13 @@
__pycache__/
*.py[cod]
*.pyo
*.pyd
.venv/
.pytest_cache/
.ruff_cache/
.mypy_cache/
.coverage
*.log
.DS_Store
.git/
.gitignore
+38
View File
@@ -0,0 +1,38 @@
FROM python:3.11-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
PORT=8000
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
pkg-config \
git \
libjpeg-dev \
zlib1g-dev \
libpng-dev \
&& rm -rf /var/lib/apt/lists/*
RUN groupadd --system app \
&& useradd --system --gid app --create-home --home-dir /home/app app
WORKDIR /home/app
COPY pyproject.toml README.md ./
RUN python -m pip install --upgrade pip \
&& pip install --no-cache-dir -e ".[dev]"
COPY app ./app
COPY tests ./tests
RUN chown -R app:app /home/app
USER app
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]