Deploying IT-Tools
Introduction
IT-Tools is a comprehensive collection of handy online tools for developers, sysadmins, and IT professionals. Created by Corentin Thomasset, this self-hosted application brings together dozens of utilities that you might otherwise search for individually across the web - from encoders and converters to generators and formatters.
The beauty of IT-Tools lies in its convenience. Instead of hunting for a Base64 encoder, then a different site for UUID generation, then another for hash calculations, you have everything in one clean, privacy-respecting interface that runs on your own infrastructure.
Key highlights of IT-Tools:
- Encoding/Decoding: Base64, URL encoding, HTML entities, JWT decoder
- Converters: JSON to YAML, Unix timestamp, color formats, number bases
- Generators: UUIDs, passwords, Lorem Ipsum, QR codes, fake data
- Hash Functions: MD5, SHA-1, SHA-256, bcrypt, and more
- Text Tools: Case converter, text diff, regex tester, string utilities
- Network Tools: IPv4/IPv6 subnet calculator, MAC address lookup
- Development: JSON formatter, SQL formatter, cron expression parser
- Cryptography: RSA key pair generator, encryption/decryption tools
- Math Tools: Math evaluator, percentage calculator, unit converters
- Privacy Focused: All processing happens client-side in your browser
- Clean Interface: Modern, responsive design with dark mode support
This guide walks through deploying IT-Tools on Klutch.sh using Docker, giving your team a private utility toolkit.
Why Deploy IT-Tools on Klutch.sh
Deploying IT-Tools on Klutch.sh provides several advantages for your development workflow:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds IT-Tools without manual server configuration. Push to GitHub and your toolkit deploys automatically.
Privacy: All tools process data client-side in the browser. Deploying your own instance means no data leaves your infrastructure.
HTTPS by Default: Klutch.sh provides automatic SSL certificates, ensuring secure access to your tools.
GitHub Integration: Connect your configuration repository directly from GitHub. Updates trigger automatic redeployments.
Always Available: Access your utility toolkit from anywhere without relying on third-party services.
Custom Domains: Assign a custom domain for easy team access.
Lightweight: IT-Tools has minimal resource requirements, making it cost-effective to host.
Prerequisites
Before deploying IT-Tools on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your IT-Tools configuration
- Basic familiarity with Docker and containerization concepts
Understanding IT-Tools Architecture
IT-Tools is built with simplicity in mind:
Vue.js Frontend: The entire application runs in the browser as a single-page application.
Static Hosting: No backend processing - the Nginx server simply delivers static files.
Client-Side Processing: All encoding, decoding, and generation happens in your browser, never on the server.
Preparing Your Repository
To deploy IT-Tools on Klutch.sh, create a GitHub repository containing your Dockerfile.
Repository Structure
it-tools-deploy/├── Dockerfile└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM corentinth/it-tools:latest
# Set timezone (optional)ENV TZ=${TZ:-UTC}
# Expose the web interface portEXPOSE 80
# Health checkHEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:80/ || exit 1Alternative Dockerfile with Custom Base URL
If you need to serve IT-Tools from a subdirectory:
FROM node:18-alpine AS builder
# Clone and build IT-ToolsRUN apk add --no-cache gitRUN git clone https://github.com/CorentinTh/it-tools.git /appWORKDIR /app
# Set base URL if serving from subdirectoryENV BASE_URL=/tools/
# Install dependencies and buildRUN npm ciRUN npm run build
# Production imageFROM nginx:alpine
# Copy built filesCOPY --from=builder /app/dist /usr/share/nginx/html
# Copy nginx configuration for SPA routingRUN echo 'server { \ listen 80; \ root /usr/share/nginx/html; \ index index.html; \ location / { \ try_files $uri $uri/ /index.html; \ } \}' > /etc/nginx/conf.d/default.conf
EXPOSE 80
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:80/ || exit 1Environment Variables Reference
IT-Tools has minimal configuration needs:
| Variable | Required | Default | Description |
|---|---|---|---|
TZ | No | UTC | Server timezone |
BASE_URL | No | / | Base URL path for subdirectory hosting |
VITE_LANGUAGE | No | en | Default interface language |
Deploying IT-Tools on Klutch.sh
Once your repository is prepared, follow these steps to deploy IT-Tools:
- Select HTTP as the traffic type
- Set the internal port to 80
- Detect your Dockerfile automatically
- Build the container image (or use the pre-built image)
- Start the IT-Tools container
- Provision an HTTPS certificate
Push Your Repository to GitHub
Initialize your repository and push to GitHub:
git initgit add Dockerfile .dockerignoregit commit -m "Initial IT-Tools deployment configuration"git remote add origin https://github.com/yourusername/it-tools-deploy.gitgit push -u origin mainCreate a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project. Give it a descriptive name like “tools” or “it-tools”.
Create a New App
Within your project, create a new app. Connect your GitHub account if you haven’t already, then select the repository containing your IT-Tools Dockerfile.
Configure HTTP Traffic
IT-Tools serves its web interface over HTTP. In the deployment settings:
Set Environment Variables (Optional)
In the environment variables section, you can optionally set:
| Variable | Value |
|---|---|
TZ | Your timezone (e.g., America/New_York) |
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will:
Access IT-Tools
Once deployment completes, access your IT-Tools instance at https://your-app-name.klutch.sh. All tools are immediately available.
Available Tools
IT-Tools includes a comprehensive collection organized by category:
Crypto
- Token generator: Create random tokens and strings
- Hash text: MD5, SHA1, SHA256, SHA512 hashes
- Bcrypt: Hash and verify bcrypt passwords
- UUIDs generator: Generate v1, v4, and v5 UUIDs
- Encrypt/Decrypt: AES encryption and decryption
- RSA key pair: Generate RSA public/private keys
- JWT parser: Decode and inspect JWT tokens
Converter
- Date/time converter: Unix timestamps, ISO dates
- Base converter: Binary, octal, decimal, hex
- Color converter: HEX, RGB, HSL conversions
- JSON to YAML: Bidirectional conversion
- JSON to CSV: Transform data formats
- Number base converter: Convert between bases
Web
- URL encoder/decoder: Encode/decode URL components
- HTML entities: Encode/decode HTML entities
- URL parser: Break down URL components
- QR code generator: Create QR codes for any text
- HTTP status codes: Reference for HTTP codes
- MIME types: Look up MIME type information
Development
- JSON formatter: Pretty-print and validate JSON
- SQL formatter: Format SQL queries
- Regex tester: Test regular expressions
- Cron expression: Parse and generate cron expressions
- Diff: Compare two texts
- Lorem Ipsum: Generate placeholder text
Network
- IPv4 subnet calculator: Calculate network ranges
- IPv4 address converter: Convert IP formats
- MAC address lookup: Identify vendors
- IPv6 ULA generator: Generate unique local addresses
Math
- Math evaluator: Calculate expressions
- Percentage calculator: Compute percentages
- ETA calculator: Estimate time remaining
Text
- Case converter: UPPER, lower, Title, etc.
- Text statistics: Word count, character count
- Numeronym generator: Create abbreviations
- ASCII art: Convert text to ASCII art
- Text to NATO alphabet: Phonetic spelling
Images
- QR code generator: Create QR codes
- SVG placeholder: Generate placeholder images
- Camera/screenshot: Capture images (browser permitting)
Using IT-Tools
Quick Access
The home page shows all available tools. Use the search bar to quickly find specific utilities.
Favorites
Click the star icon on frequently used tools to add them to your favorites for quick access.
Dark Mode
Toggle dark mode using the theme switcher in the header for comfortable viewing in any lighting.
Keyboard Shortcuts
Many tools support keyboard shortcuts:
Ctrl/Cmd + Enter: Execute/ConvertCtrl/Cmd + K: Open search
Security Considerations
Client-Side Processing
All IT-Tools operations happen in your browser:
- Data never leaves your device
- No server-side logging of inputs
- Safe for sensitive data processing
Self-Hosting Benefits
Deploying your own instance ensures:
- No third-party tracking
- Control over access
- Compliance with data policies
Troubleshooting Common Issues
Tools Not Loading
Symptoms: Tools page shows loading spinner indefinitely.
Solutions:
- Clear browser cache
- Check browser console for JavaScript errors
- Ensure HTTPS certificate is valid
Slow Performance
Symptoms: Operations take longer than expected.
Solutions:
- Large operations (like hashing big files) are CPU-bound in the browser
- Use a more powerful device for intensive operations
- Split large inputs into smaller chunks
Additional Resources
Conclusion
Deploying IT-Tools on Klutch.sh gives you a private collection of developer utilities with automatic builds, secure HTTPS access, and the peace of mind that comes from self-hosting. The client-side architecture means your data stays in your browser, making it safe for processing sensitive information.
Whether you’re encoding data, generating UUIDs, testing regex patterns, or performing dozens of other common development tasks, IT-Tools on Klutch.sh provides a convenient, always-available toolkit that respects your privacy.