https://github.com/fahimfba/overleaf-toolkit-essential
A lightweight automation toolkit for managing and enhancing local Overleaf installations - includes smart LaTeX package installers, weekly updates, and essential setup scripts for a seamless offline Overleaf experience.
https://github.com/fahimfba/overleaf-toolkit-essential
latex overleaf overleaf-toolkit
Last synced: about 1 month ago
JSON representation
A lightweight automation toolkit for managing and enhancing local Overleaf installations - includes smart LaTeX package installers, weekly updates, and essential setup scripts for a seamless offline Overleaf experience.
- Host: GitHub
- URL: https://github.com/fahimfba/overleaf-toolkit-essential
- Owner: FahimFBA
- License: mit
- Created: 2025-10-25T05:56:09.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-10-25T08:48:58.000Z (8 months ago)
- Last Synced: 2025-10-25T09:22:17.341Z (8 months ago)
- Topics: latex, overleaf, overleaf-toolkit
- Language: Shell
- Homepage: https://fahimfba.github.io/overleaf-toolkit-essential/
- Size: 1.85 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Overleaf Toolkit Essential
A lightweight automation toolkit for managing and enhancing **local Overleaf installations**.
It automates LaTeX package installation, updates TeX Live automatically, and keeps your environment consistent with Overleaf’s cloud setup.
---
## 🎥 Setup Video Guide
📺 **[Watch the full setup tutorial on YouTube](https://youtu.be/jDy9rdgSoHs)**
This walkthrough covers:
- Cloning and configuring the toolkit
- Installing and verifying LaTeX packages
- Troubleshooting common issues
---
## ⚙️ Overview
**Overleaf Toolkit Essential** is ideal for developers and researchers using the `sharelatex/sharelatex` Docker image.
It ensures your local Overleaf setup stays up-to-date with minimal maintenance.
### Key Features
- Environment-driven configuration via `.env`
- Smart package installation (only missing packages)
- Weekly cron-based updates for TeX Live
- Non-destructive and idempotent scripts
- Works on Linux, macOS, and WSL2
---
## 🚀 Quick Start
### 1. Clone the repository
```bash
git clone https://github.com/FahimFBA/overleaf-toolkit-essential.git
cd overleaf-toolkit-essential
````
### 2. Copy and configure environment
```bash
cp .env.example .env
```
Edit `.env` with your system paths (example):
```bash
CONTAINER_NAME=sharelatex
PROJECT_DIR=$HOME/tmp-overleaf/overleaf-toolkit-essential
LOG_FILE=$PROJECT_DIR/latex-update.log
INSTALL_SCRIPT=$PROJECT_DIR/scripts/install-latex-packages.sh
```
> **Note:** Use absolute paths.
> On WSL2, ensure it points to your Linux filesystem (e.g., `/home/fahim/tmp-overleaf/...`).
### 3. Make scripts executable
```bash
chmod +x scripts/*.sh
```
### 4. Install LaTeX packages
```bash
./scripts/install-latex-packages.sh
```
### 5. Enable weekly auto-update
```bash
./scripts/setup-weekly-cron.sh
```
This runs every **Monday at 4:00 AM** and logs results to `latex-update.log`.
---
## 🧩 Configuration
All settings are managed via `.env`:
| Variable | Description | Example |
| ---------------- | ------------------------- | --------------------------------------------------------------------------------------- |
| `CONTAINER_NAME` | Overleaf container name | `sharelatex` |
| `PROJECT_DIR` | Toolkit directory on host | `/home/fahim/tmp-overleaf/overleaf-toolkit-essential` |
| `LOG_FILE` | Log file path | `/home/fahim/tmp-overleaf/overleaf-toolkit-essential/latex-update.log` |
| `INSTALL_SCRIPT` | Path to installer script | `/home/fahim/tmp-overleaf/overleaf-toolkit-essential/scripts/install-latex-packages.sh` |
---
## 📦 Installed Packages
By default, the toolkit installs these essential LaTeX packages:
```
amsmath, amsfonts, amssymb, mathtools, siunitx,
xcolor, graphicx, float, geometry, fancyhdr, caption, subcaption,
listings, algorithm, algorithmic, algorithm2e, tikz, pgfplots,
hyperref, booktabs, multirow, array, longtable, tabularx, lipsum
```
You can add more in `scripts/install-latex-packages.sh`.
---
## 🕒 Weekly Auto-Update
The scheduled cron job runs automatically:
```
0 4 * * 1 /path/to/install-latex-packages.sh >> /path/to/latex-update.log 2>&1
```
To view or edit your cron jobs:
```bash
crontab -l
crontab -e
```
---
## 🧰 Requirements
* Docker (running `sharelatex/sharelatex`)
* Access to `tlmgr` inside the container
* Linux, macOS, or WSL2 host
* Cron service enabled on host
> **Tip:** Tested on Ubuntu 24.04, MacOS and Windows 11 (WSL2) environments.
---
## 🤝 Contributing
Contributions are welcome!
You can help by:
* Adding more LaTeX packages
* Improving automation or cross-platform support
* Enhancing installation or troubleshooting scripts
### To contribute:
1. Fork this repository
2. Create a feature branch (`feature/your-update`)
3. Commit your changes
4. Submit a pull request with a clear description
---
## 🧾 License
This project is licensed under the [MIT License](LICENSE).
You’re free to use, modify, and distribute it under open-source terms.
---
## 👤 Author
**Md. Fahim Bin Amin**
[GitHub Profile](https://github.com/FahimFBA) • [LinkedIn](https://www.linkedin.com/in/fahimfba/)
> This is an independent open-source project, not affiliated with Overleaf Ltd.
---
⭐ **If you find this project helpful, please star it on GitHub!**