# TSYS Dev Stack - Docs Toolbox
[![Docker Image Size](https://img.shields.io/docker/image-size/tsysdevstack/toolbox-docs)](https://hub.docker.com/r/tsysdevstack/toolbox-docs) [![Docker Pulls](https://img.shields.io/docker/pulls/tsysdevstack/toolbox-docs)](https://hub.docker.com/r/tsysdevstack/toolbox-docs) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Build Status](https://img.shields.io/badge/build-passing-brightgreen)](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 [![TSYS Group](https://img.shields.io/badge/TSYS_Group-Dev_Stack-blue?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDJDNi40ODYgMiAyIDYuNDg2IDIgMTJzNC40ODYgMTAgMTAgMTAgMTAtNC40ODYgMTAtMTBTMTcuNTE0IDIgMTIgMnptMCAxOGMtNC40MTEgMC04LTMuNTg5LTgtOHMzLjU4OS04IDgtOCA4IDMuNTg5IDggOC0zLjU4OSA4LTggOHoiLz48L3N2Zz4=)](https://www.tsys.com/)