Deploying string.is
Introduction
string.is is a privacy-focused web application that provides a comprehensive suite of string manipulation, encoding, decoding, and hashing tools. All operations are performed entirely in the browser using JavaScript, meaning your data never leaves your device - making it perfect for handling sensitive information.
The application is designed for developers, security professionals, and anyone who regularly needs to transform text, encode/decode data, or generate hashes. Its clean interface and client-side processing make it both convenient and secure.
Key highlights of string.is:
- Privacy First: All processing happens in your browser - no data sent to servers
- Encoding/Decoding: Base64, URL encoding, HTML entities, and more
- Hash Generation: MD5, SHA-1, SHA-256, SHA-512, and other algorithms
- Text Manipulation: Case conversion, string reversal, sorting, deduplication
- Format Conversion: JSON, XML, YAML formatting and conversion
- Regex Testing: Test and debug regular expressions
- Color Conversion: Convert between HEX, RGB, HSL color formats
- JWT Decoding: Decode and inspect JSON Web Tokens
- UUID Generation: Generate UUIDs in various formats
- Timestamp Conversion: Unix timestamp to human-readable and vice versa
- Open Source: Fully open source and self-hostable
This guide walks through deploying string.is on Klutch.sh using Docker, making these tools available on your own infrastructure.
Why Deploy string.is on Klutch.sh
Deploying string.is on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds string.is without complex configuration. Push to GitHub, and your tools deploy automatically.
Guaranteed Privacy: While string.is processes everything client-side, hosting it yourself ensures complete control over the application code and eliminates concerns about third-party modifications.
HTTPS by Default: Klutch.sh provides automatic SSL certificates, ensuring secure access to your tools from anywhere.
GitHub Integration: Connect your configuration repository directly from GitHub. Updates trigger automatic redeployments.
Custom Domains: Assign a custom domain for your team’s internal tools portal.
Always-On Availability: Your string manipulation tools remain accessible 24/7 without managing your own hardware.
Organizational Use: Provide your team with a trusted, internal instance of these essential developer tools.
Prerequisites
Before deploying string.is on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your string.is configuration
- Basic familiarity with Docker and containerization concepts
- (Optional) A custom domain for your string.is instance
Preparing Your Repository
To deploy string.is on Klutch.sh, create a GitHub repository containing your Dockerfile.
Repository Structure
string-is-deploy/├── Dockerfile└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM node:18-alpine AS builder
# Clone the repositoryRUN apk add --no-cache gitRUN git clone https://github.com/string-is/string-is.git /app
WORKDIR /app
# Install dependencies and buildRUN npm ciRUN npm run build
# Production imageFROM nginx:alpine
# Copy built assetsCOPY --from=builder /app/dist /usr/share/nginx/html
# Copy nginx configurationRUN echo 'server { \ listen 80; \ server_name _; \ root /usr/share/nginx/html; \ index index.html; \ location / { \ try_files $uri $uri/ /index.html; \ } \}' > /etc/nginx/conf.d/default.conf
EXPOSE 80Alternative: Using Pre-built Image
If a pre-built Docker image is available:
FROM ghcr.io/string-is/string-is:latest
EXPOSE 80Creating the .dockerignore File
Create a .dockerignore file:
.git.github*.mdLICENSE.gitignore*.log.DS_Store.env.env.localnode_modulesDeploying string.is on Klutch.sh
Once your repository is prepared, follow these steps to deploy string.is:
- Select HTTP as the traffic type
- Set the internal port to 80
- Detect your Dockerfile automatically
- Build the container image (including compiling the frontend)
- Start the string.is container
- Provision an HTTPS certificate
Push Your Repository to GitHub
Initialize your repository and push to GitHub. Ensure your Dockerfile is in the root of your repository.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project. Give it a descriptive name like “string-is” or “dev-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 string.is Dockerfile.
Configure HTTP Traffic
string.is serves its web interface over HTTP. In the deployment settings:
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will:
Access string.is
Once deployment completes, access your string.is instance at https://your-app-name.klutch.sh.
Available Tools
Encoding and Decoding
string.is provides numerous encoding/decoding tools:
- Base64: Encode and decode Base64 strings
- URL Encoding: Encode and decode URL-safe strings
- HTML Entities: Convert special characters to HTML entities
- Unicode: Convert to and from Unicode escape sequences
- Hex: Convert between text and hexadecimal
Hashing
Generate cryptographic hashes:
- MD5: Generate MD5 hashes (not for security purposes)
- SHA Family: SHA-1, SHA-256, SHA-384, SHA-512
- HMAC: Generate HMAC signatures with various algorithms
Text Manipulation
Transform text in various ways:
- Case Conversion: UPPERCASE, lowercase, Title Case, camelCase, snake_case
- Sorting: Sort lines alphabetically or numerically
- Deduplication: Remove duplicate lines
- Line Operations: Reverse lines, add line numbers
- Whitespace: Trim, compress, or convert whitespace
Format Tools
Work with structured data:
- JSON: Format, minify, and validate JSON
- XML: Format and validate XML
- YAML: Convert between JSON and YAML
- CSV: Parse and convert CSV data
Developer Tools
Specialized utilities:
- Regex Tester: Test regular expressions with live matching
- JWT Decoder: Decode and inspect JSON Web Tokens
- UUID Generator: Generate UUIDs (v1, v4)
- Timestamp Converter: Convert Unix timestamps
Color Tools
Work with colors:
- Color Converter: Convert between HEX, RGB, HSL
- Color Picker: Select colors visually
Use Cases
Security and Privacy
Self-hosting string.is is ideal when:
- Handling sensitive data that shouldn’t leave your network
- Working with credentials, tokens, or secrets
- Complying with data residency requirements
- Providing tools for security-conscious teams
Developer Workflows
Common development tasks:
- Encoding configuration values for environment variables
- Generating hashes for integrity checks
- Formatting JSON responses for debugging
- Testing regex patterns before implementation
Team Tooling
Provide your team with:
- A trusted, internal instance of common utilities
- Consistent tools across development environments
- No reliance on external services
Production Considerations
Performance
string.is is a static application with minimal server requirements:
- Client-side processing means low server load
- Small resource allocation is typically sufficient
- No database or persistent storage required
Customization
Consider customizing your deployment:
- Add your organization’s branding
- Remove tools you don’t need
- Add custom tools specific to your workflow
Updates
Keep your deployment current:
- Monitor the string.is repository for updates
- Rebuild periodically to get new features
- Test updates in a staging environment first
Troubleshooting Common Issues
Application Not Loading
Symptoms: Blank page or JavaScript errors.
Solutions:
- Check browser console for errors
- Verify the build completed successfully
- Ensure nginx configuration is correct
Tools Not Working
Symptoms: Input doesn’t produce expected output.
Solutions:
- This is a client-side application - check browser compatibility
- Clear browser cache and reload
- Check browser console for JavaScript errors
Cannot Access Instance
Symptoms: Browser cannot connect.
Solutions:
- Verify the deployment is running
- Confirm HTTP traffic is configured correctly
- Check deployment logs for errors
Additional Resources
Conclusion
Deploying string.is on Klutch.sh gives you a private, self-hosted suite of string manipulation and encoding tools with automatic builds and secure HTTPS access. Since all processing happens in the browser, your data never leaves your device - hosting it yourself simply ensures you control the application code.
Whether you need to encode sensitive configuration values, generate hashes, test regular expressions, or format JSON, string.is on Klutch.sh provides a reliable, always-available toolkit for your development workflow.