Deploying XBackBone
Introduction
XBackBone is a simple and lightweight PHP file manager that provides a web interface for ShareX and other screenshot tools. It offers a self-hosted solution for storing and sharing screenshots, images, and files with direct links and customizable URLs.
Key highlights of XBackBone:
- ShareX Compatible: Full support for ShareX custom uploader
- Web Gallery: Browse and manage uploaded files through a web interface
- User Management: Multi-user support with individual quotas
- Custom URLs: Configurable short URLs for shared files
- Image Manipulation: Automatic thumbnail generation
- Storage Backends: Support for local storage and S3-compatible services
- Embed Support: OEmbed and OpenGraph meta tags for rich previews
- API Access: RESTful API for programmatic uploads
This guide walks through deploying XBackBone on Klutch.sh using Docker.
Why Deploy XBackBone on Klutch.sh
Deploying XBackBone on Klutch.sh provides several advantages:
Self-Hosted Sharing: Own your screenshot and file hosting without third-party services.
Custom Domain: Use your own domain for professional sharing links.
HTTPS by Default: Secure uploads and downloads with automatic SSL.
Persistent Storage: Your files persist with Klutch.sh volumes.
Prerequisites
Before deploying XBackBone on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
Deploying XBackBone on Klutch.sh
Create Your Repository
Create a new GitHub repository with a Dockerfile:
FROM php:8.2-apache
# Install dependenciesRUN apt-get update && apt-get install -y \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ libzip-dev \ unzip \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install gd pdo pdo_mysql zip
# Enable Apache modulesRUN a2enmod rewrite
WORKDIR /var/www/html
# Download XBackBoneRUN curl -L https://github.com/SergiX44/XBackBone/releases/latest/download/release-v3.6.3.zip -o xbackbone.zip \ && unzip xbackbone.zip \ && rm xbackbone.zip \ && chown -R www-data:www-data /var/www/html
EXPOSE 80Push to GitHub
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.
Create a New App
Within your project, create a new app and connect your GitHub repository.
Configure HTTP Traffic
Set the traffic type to HTTP with port 80.
Attach Persistent Volumes
Add persistent volumes:
| Mount Path | Purpose |
|---|---|
/var/www/html/storage | Uploaded files |
/var/www/html/config | Configuration files |
Deploy Your Application
Click Deploy to build and launch XBackBone.
Complete Installation
Access your XBackBone instance and complete the web-based installer to configure your database and create an admin account.
Configure ShareX
Download the ShareX custom uploader configuration from your XBackBone admin panel.
Additional Resources
Conclusion
XBackBone on Klutch.sh provides a powerful self-hosted screenshot and file sharing solution. With ShareX integration and a clean web interface, you can easily manage and share your uploads while keeping everything under your control.