Deploying QuickShare
Introduction
QuickShare is a lightweight, self-hosted file sharing application that makes it easy to share files securely. With a clean web interface and minimal configuration, QuickShare provides a simple alternative to cloud file sharing services while keeping your data under your control.
Key features of QuickShare include:
- Simple File Uploads: Drag-and-drop interface for easy file sharing
- Expiring Links: Set automatic expiration for shared files
- Password Protection: Secure shared files with passwords
- No Account Required: Share files without user registration
- Download Limits: Restrict the number of downloads per file
- Clean Interface: Minimalist design focused on usability
- Lightweight: Low resource requirements for efficient hosting
- Self-Hosted Privacy: Keep file transfers within your infrastructure
This guide walks through deploying QuickShare on Klutch.sh using Docker, configuring storage for uploaded files, and setting up security options.
Prerequisites
Before deploying QuickShare on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your QuickShare configuration
- Basic familiarity with Docker and containerization concepts
Deploying QuickShare on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 8080
Create Your Dockerfile
Create a Dockerfile in your repository:
FROM ihexxa/quickshare:latest
# Environment configurationENV QS_PORT=8080ENV QS_HOST=0.0.0.0
# Expose the web interface portEXPOSE 8080
# Volume for uploaded filesVOLUME /quickshare/dataPush Your Repository to GitHub
Commit and push your Dockerfile to your GitHub repository.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project named “quickshare”.
Create a New App
Create a new app within your project and connect your GitHub repository.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
QS_PORT | 8080 |
QS_HOST | 0.0.0.0 |
QS_ADMIN_USER | Your admin username |
QS_ADMIN_PWD | Your secure admin password |
Attach Persistent Volumes
Add persistent storage for uploaded files:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/quickshare/data | 50 GB | Uploaded files and database |
Deploy Your Application
Click Deploy to build and start your QuickShare instance.
Access QuickShare
Once deployment completes, access your QuickShare instance at https://your-app-name.klutch.sh. Log in with your admin credentials to configure settings and start sharing files.
Configuration Options
File Expiration
Configure default expiration times for uploaded files through the admin settings. Options include:
- 1 hour, 24 hours, 7 days, 30 days
- Custom expiration times
- No expiration (permanent files)
Upload Limits
Set maximum file sizes and storage quotas to manage disk usage effectively.
Additional Resources
Conclusion
Deploying QuickShare on Klutch.sh provides a private, self-hosted file sharing solution with automatic builds, persistent storage, and secure HTTPS access. Share files quickly and securely with expiring links and password protection, all while maintaining complete control over your data.