Deploying Sync-in
Introduction
Sync-in is a self-hosted file synchronization solution that allows you to keep files synchronized across multiple devices while maintaining complete control over your data. It provides a simple yet effective way to sync files without relying on third-party cloud services.
Key highlights of Sync-in:
- Self-Hosted: Complete control over your synchronized data
- Cross-Platform: Sync files across different operating systems
- Real-Time Sync: Automatic synchronization when files change
- Selective Sync: Choose which folders to synchronize
- Version Control: Keep track of file versions
- Encryption: Secure file transfers
- Web Interface: Monitor sync status from your browser
- Conflict Resolution: Automatic handling of sync conflicts
- Lightweight: Minimal resource requirements
This guide walks through deploying Sync-in on Klutch.sh using Docker.
Why Deploy Sync-in on Klutch.sh
Deploying Sync-in on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Sync-in without complex orchestration.
Persistent Storage: Attach persistent volumes for synchronized files.
HTTPS by Default: Secure file synchronization with automatic SSL certificates.
GitHub Integration: Connect your configuration repository for automatic redeployments.
Prerequisites
Before deploying Sync-in on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your Sync-in configuration
- Basic familiarity with Docker and containerization concepts
Deploying Sync-in on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 8080
Create Your Repository
Create a new GitHub repository with a Dockerfile for Sync-in:
FROM syncin/sync-in:latest
ENV PUID=1000ENV PGID=1000
EXPOSE 8080
VOLUME ["/data", "/config"]Push to GitHub
Initialize and push your repository to GitHub with your Dockerfile.
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
In the deployment settings:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
PUID | 1000 |
PGID | 1000 |
Attach Persistent Volumes
Add the following volumes:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/config | 1 GB | Configuration and state |
/data | 100+ GB | Synchronized files |
Deploy Your Application
Click Deploy to start the build process.
Access Sync-in
Once deployment completes, access Sync-in at your app URL.
Configuration
Initial Setup
On first access:
- Create your admin account
- Configure sync folders
- Set up authentication
Adding Sync Folders
Add folders to synchronize:
- Navigate to the folder settings
- Add the path to synchronize
- Configure sync options (two-way, one-way, etc.)
Client Setup
Install the Sync-in client on your devices:
- Download the client for your platform
- Enter your server URL
- Authenticate with your credentials
- Select folders to sync
Additional Resources
Conclusion
Deploying Sync-in on Klutch.sh gives you a self-hosted file synchronization solution with automatic builds, persistent storage, and secure HTTPS access. Keep your files synchronized across devices while maintaining complete control over your data.