Reorganize the brownfield repository, remove retired and generated artifacts, harden ignore rules, and record the GitOps/IaC redesign.
Marker (GPU service)
Goal
- Run
markerlocally on the NVIDIA GPU and expose its API in Kubernetes. - Keep the pod single-replica and single-worker so it fits in 4 GB VRAM.
Resources
| File | Description |
|---|---|
Dockerfile |
CUDA-based image built from pytorch/pytorch and marker-pdf. |
deployment.yaml |
Single GPU-backed Deployment for marker_server. |
service.yaml |
ClusterIP service on port 8001. |
How to use
- Build and push the image:
docker build -t <your-registry>/marker:latest ~/services/apps/marker docker push <your-registry>/marker:latest - Update
deployment.yamlwith that image tag. - Apply the manifests:
kubectl apply -f ~/services/apps/marker/deployment.yaml kubectl apply -f ~/services/apps/marker/service.yaml - Check the pod is using the GPU:
kubectl logs deploy/marker kubectl exec -it deploy/marker -- nvidia-smi
Notes
- No PVC is used; the container only needs ephemeral storage.
- Keep
replicas: 1and avoid concurrent jobs on this 4 GB card. - If the server needs an explicit bind address in your build, change the container args to
0.0.0.0:8001equivalent formarker_server.