Skip to content

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
└── .dockerignore

Creating the Dockerfile

Create a Dockerfile in the root of your repository:

FROM acidvegas/slcl:latest
# Set environment variables
ENV SLCL_PORT=8080
# Expose the web interface port
EXPOSE 8080

Creating the .dockerignore File

Create a .dockerignore file to exclude unnecessary files from the build:

.git
.github
*.md
LICENSE
.gitignore
*.log
.DS_Store
.env
.env.local

Deploying slcl on Klutch.sh

Once your repository is prepared, follow these steps to deploy slcl:

    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:

    • Select HTTP as the traffic type
    • Set the internal port to 8080

    Attach Persistent Volumes

    Persistent storage is essential for slcl. Add the following volume:

    Mount PathRecommended SizePurpose
    /data10+ GBUploaded files and application data

    Deploy Your Application

    Click Deploy to start the build process. Klutch.sh will:

    • Detect your Dockerfile automatically
    • Build the container image
    • Attach the persistent volumes
    • Start the slcl container
    • Provision an HTTPS certificate

    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:

  1. Navigate to the web interface
  2. Use the upload functionality to add files
  3. Files are stored in the persistent volume

Sharing Files

slcl provides simple file sharing through direct URLs:

  1. Upload a file to your instance
  2. Copy the generated share link
  3. 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.