Dockerized LaTeX compilation environment. No local LaTeX installation required.
- Docker Desktop
 
# Make scripts executable
chmod +x compile.sh watch.sh
# Compile resume
./compile.sh resume
# Watch mode (auto-recompile on changes)
./watch.sh resumeFirst run downloads the Docker image (~500MB) and installs packages. Subsequent runs are instant.
./compile.sh [project-name] [optional-file.tex]Examples:
./compile.sh resume                    # Compiles first .tex in projects/resume/
./compile.sh resume resume.tex         # Compiles projects/resume/resume.tex
./compile.sh letter cover-letter.tex   # Compiles projects/letter/cover-letter.tex./watch.sh [project-name]Auto-recompiles on file changes. Excludes PDF/log/aux files from watch to prevent loops. Press Ctrl+C to stop.
latex-compiler/
├── Dockerfile                    # LaTeX environment (XeLaTeX)
├── docker-compose.yml           # Docker config
├── compile.sh                   # Compile script
├── watch.sh                     # Watch script with fswatch
└── projects/
    ├── resume/
    │   ├── resume.tex
    │   └── resume-openfont.cls
    └── [your-project]/
        └── *.tex
mkdir projects/my-paper
cd projects/my-paper
# Add your .tex files
./compile.sh my-paperEach project is isolated. Add custom .cls, .sty, images, etc. directly to project folders.
Edit Dockerfile:
RUN tlmgr install [package-name]Rebuild:
docker-compose build --no-cacheProjects are independent. Add any custom files (classes, styles, fonts) to the project directory.
- Compiler: XeLaTeX (supports Unicode and modern fonts)
 - Base Image: 
texlive/texlive:latest - File Watching: 
fswatch(excludes.pdf,.aux,.log,.out) - Volume Mounting: Projects mounted read-write at 
/work - Auto-cleanup: Removes auxiliary files after compilation
 
Watch script keeps recompiling:
- Fixed in latest version - PDF/aux files excluded from watch
 
Ctrl+C doesn't stop watch:
- Fixed in latest version - proper signal handling with 
-iflag 
Permission denied:
chmod +x compile.sh watch.shBuild fails:
docker-compose build --no-cache- resume: Professional single-column resume template with XeLaTeX fonts
 
MIT