Deploying slcl
Introduction
slcl (Simple Lightweight Cloud) is a minimalist, self-hosted cloud storage solution designed for users who want a straightforward way to store and share files without the complexity of full-featured cloud platforms. Built with simplicity in mind, slcl provides essential file storage functionality through a clean web interface.
The application is designed to be extremely lightweight, requiring minimal resources while still providing reliable file storage and sharing capabilities. It’s perfect for individuals or small teams who need a private file hosting solution without the overhead of more complex alternatives.
Key highlights of slcl:
- Minimalist Design: Clean, simple interface focused on core file storage functionality
- Lightweight: Extremely low resource footprint makes it suitable for any server
- Self-Hosted: Complete control over your data with no third-party dependencies
- Easy Setup: Minimal configuration required to get started
- File Sharing: Share files with others through simple URLs
- Web-Based Access: Access your files from any device with a web browser
- Docker Support: Easy deployment with official Docker images
- Open Source: Fully open source and free to use
This guide walks through deploying slcl on Klutch.sh using Docker, configuring persistent storage for your files, and setting up the application for production use.
Why Deploy slcl on Klutch.sh
Deploying slcl on Klutch.sh provides several advantages for your personal cloud storage:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds slcl without complex orchestration or manual server configuration. Push to GitHub, and your cloud storage deploys automatically.
Persistent Storage: Attach persistent volumes for your uploaded files. Your data survives container restarts and redeployments without loss.
HTTPS by Default: Klutch.sh provides automatic SSL certificates, ensuring secure access to your files from anywhere without manual certificate management.
GitHub Integration: Connect your configuration repository directly from GitHub. Updates to your Dockerfile trigger automatic redeployments.
Scalable Resources: Allocate CPU and memory based on your storage needs and expected traffic. Start small and scale up as your collection grows.
Custom Domains: Assign a custom domain to your slcl instance for a professional, branded experience.
Always-On Availability: Your file storage remains accessible 24/7 without managing your own hardware.
Prerequisites
Before deploying slcl on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your slcl configuration
- Basic familiarity with Docker and containerization concepts
- (Optional) A custom domain for your slcl instance
Preparing Your Repository
To deploy slcl on Klutch.sh, create a GitHub repository containing your Dockerfile.
Repository Structure
slcl-deploy/├── Dockerfile└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM acidvegas/slcl:latest
# Set environment variablesENV SLCL_PORT=8080
# Expose the web interface portEXPOSE 8080Creating the .dockerignore File
Create a .dockerignore file to exclude unnecessary files from the build:
.git.github*.mdLICENSE.gitignore*.log.DS_Store.env.env.localDeploying slcl on Klutch.sh
Once your repository is prepared, follow these steps to deploy slcl:
- Select HTTP as the traffic type
- Set the internal port to 8080
- Detect your Dockerfile automatically
- Build the container image
- Attach the persistent volumes
- Start the slcl 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 “slcl” or “cloud-storage”.
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 slcl Dockerfile.
Configure HTTP Traffic
slcl serves its web interface over HTTP. In the deployment settings:
Attach Persistent Volumes
Persistent storage is essential for slcl. Add the following volume:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/data | 10+ GB | Uploaded files and application data |
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will:
Access slcl
Once deployment completes, access your slcl instance at https://your-app-name.klutch.sh.
Configuration and Usage
Uploading Files
After accessing your slcl instance:
- Navigate to the web interface
- Use the upload functionality to add files
- Files are stored in the persistent volume
Sharing Files
slcl provides simple file sharing through direct URLs:
- Upload a file to your instance
- Copy the generated share link
- Share the link with others
Managing Storage
Monitor your storage usage and manage files through the web interface. Regularly clean up unused files to maintain available space.
Production Best Practices
Security Recommendations
- Access Control: Consider implementing authentication if storing sensitive files
- Regular Backups: Back up your data volume regularly
- Monitor Usage: Keep track of storage utilization
Storage Management
- Volume Sizing: Allocate sufficient storage based on your expected file sizes
- Cleanup Policy: Implement a regular cleanup schedule for temporary files
Troubleshooting Common Issues
Files Not Persisting
Symptoms: Uploaded files disappear after container restart.
Solutions:
- Verify the persistent volume is correctly mounted at
/data - Check volume permissions
Cannot Access Web Interface
Symptoms: Browser cannot connect to slcl.
Solutions:
- Verify the deployment is running in the Klutch.sh dashboard
- Confirm HTTP traffic type is selected with the correct port
- Check deployment logs for errors
Additional Resources
Conclusion
Deploying slcl on Klutch.sh gives you a lightweight, self-hosted cloud storage solution with automatic builds, persistent storage, and secure HTTPS access. The minimalist design means you can focus on storing and sharing files without dealing with complex configuration or unnecessary features.
Whether you need a simple personal file storage solution or a lightweight option for sharing files with others, slcl on Klutch.sh provides a reliable, always-available service that you control.