# TSYS Dev Stack - Docs Toolbox
[](https://hub.docker.com/r/tsysdevstack/toolbox-docs)
[](https://hub.docker.com/r/tsysdevstack/toolbox-docs)
[](LICENSE)
[](https://github.com/tsysdevstack/toolbox-docs)
> 🔧 **A comprehensive document production environment**
> A Docker container optimized for generating beautiful documents from various source formats
## ✨ Features
- **Complete Document Toolchain**: Pandoc, mdBook, Typst, Marp, Quarto, and more
- **Beautiful PDF Generation**: With TeXLive, XeTeX support, and rich fonts
- **Multiple Output Formats**: Convert from Markdown to PDF, DOCX, HTML, and more
- **Security First**: Runs as non-root user with minimal runtime privileges
- **Cross-Platform**: Works on PC, Raspberry Pi, and Mac M series devices
- **Reproducible Builds**: All dependencies version-pinned for consistency
## 🚀 Quick Start
### Prerequisites
- Docker 20.10+
- Docker Buildx plugin
### Build and Run
```bash
# Clone the repository (if needed)
git clone https://github.com/tsysdevstack/toolbox-docs.git
cd toolbox-docs
# Build the image
./build.sh
# Run the container
./run.sh
```
### Using Docker Compose
```bash
# Build and run with docker-compose
docker-compose up --build
```
## 🛠️ Included Tools
| Tool | Purpose | Documentation |
|------|---------|---------------|
| [Pandoc](https://pandoc.org/) | Universal document converter | [Usage Guide](./documentation/USAGE.md#pandoc) |
| [mdBook](https://rust-lang.github.io/mdBook/) | Create books from markdown | [Usage Guide](./documentation/USAGE.md#mdbook) |
| [Typst](https://typst.app/) | Modern typesetting system | [Usage Guide](./documentation/USAGE.md#typst) |
| [Marp](https://marp.app/) | Create slide decks from markdown | [Usage Guide](./documentation/USAGE.md#marp) |
| [Quarto](https://quarto.org/) | Scientific publishing system | [Usage Guide](./documentation/USAGE.md#quarto) |
| [TeXLive](https://www.tug.org/texlive/) | Professional typesetting suite | [PDF Generation](./documentation/USAGE.md#document-conversion-workflows) |
| [Wkhtmltopdf](https://wkhtmltopdf.org/) | HTML to PDF converter | [PDF Generation](./documentation/USAGE.md#document-conversion-workflows) |
| [Vale](https://valelint.github.io/) | Syntax-aware linter | [Documentation](./documentation/USAGE.md) |
| [JQ/YQ](https://stedolan.github.io/jq/) | JSON/YAML processor | [Cheatsheet](./documentation/CHEATSHEET.md) |
## 📚 Common Workflows
### Markdown to Professional PDF
```bash
# For resumes (ATS optimized)
pandoc resume.md -o resume.pdf --template=altacv
# For project plans and proposals
pandoc document.md -o document.pdf --template=eisvogel
```
### Joplin Notes to PDF
```bash
# Preserve Joplin's formatting when converting to PDF
pandoc joplin_note.md -o note.pdf --css=styles.css
```
### Book Generation
```bash
# Initialize and build a book
mdbook init my-book
cd my-book
mdbook build
```
### Presentation Creation
```bash
# Create slide deck from markdown
marp --pdf slides.md
```
See [USAGE.md](./documentation/USAGE.md) for complete workflows and examples.
## 🏗️ Project Structure
```
toolbox-docs/
├── Dockerfile # Multi-stage build with security best practices
├── docker-compose.yml # Docker Compose configuration
├── devcontainer.json # VS Code Dev Container configuration
├── run.sh # Script to run the container
├── build.sh # Script to build the container
├── test.sh # Test script for CI/CD
├── docs/ # Working directory for documents
├── examples/ # Example documents and workflows
├── documentation/ # Usage, troubleshooting guides
│ ├── USAGE.md
│ ├── TROUBLESHOOTING.md
│ └── CHEATSHEET.md
└── output/ # Generated documents output
```
## 🛡️ Security
- **Zero Root Runtime**: Container runs as `tsysdevstack` user with no root access
- **Minimal Build Privileges**: Root only used during build for package installation
- **Principle of Least Privilege**: Only necessary tools and permissions included
- **Hardened Image**: Security best practices applied throughout the build process
## 🚢 CI/CD Integration
Use the provided scripts in your CI/CD pipeline:
```bash
# Build for multiple platforms
./build.sh -p linux/amd64,linux/arm64
# Run tests
./test.sh
# Push to registry (requires auth)
./build.sh --push
```
## 📖 Documentation
- [Usage Guide](./documentation/USAGE.md) - Complete usage instructions
- [Troubleshooting](./documentation/TROUBLESHOOTING.md) - Common issues and solutions
- [Cheatsheet](./documentation/CHEATSHEET.md) - Quick reference for common commands
- [Examples](./examples/) - Sample documents and workflows
## 🤝 Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
**TSYS Dev Stack - Docs Toolbox** © 2025 | A [TSYS Group](https://www.tsys.com/) Project
[](https://www.tsys.com/)