Deploying SyncMarks
Introduction
SyncMarks is a self-hosted bookmark synchronization service that allows you to sync bookmarks across multiple browsers and devices without relying on third-party services. It provides browser extensions for seamless integration with your browsing experience.
Key highlights of SyncMarks:
- Cross-Browser Sync: Sync bookmarks between Chrome, Firefox, and other browsers
- Self-Hosted: Complete control over your bookmark data
- Browser Extensions: Native extensions for popular browsers
- Folder Organization: Maintain your bookmark folder structure
- Search: Full-text search across all bookmarks
- Tags: Organize bookmarks with custom tags
- Privacy Focused: Your bookmarks stay on your server
- Import/Export: Support for standard bookmark formats
- Multi-User: Support for multiple accounts
This guide walks through deploying SyncMarks on Klutch.sh using Docker.
Why Deploy SyncMarks on Klutch.sh
Deploying SyncMarks on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds SyncMarks without complex orchestration.
Persistent Storage: Attach persistent volumes for your bookmark database.
HTTPS by Default: Secure bookmark synchronization with automatic SSL certificates.
GitHub Integration: Connect your configuration repository for automatic redeployments.
Prerequisites
Before deploying SyncMarks on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your SyncMarks configuration
- Basic familiarity with Docker and containerization concepts
Deploying SyncMarks on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 3000
Create Your Repository
Create a new GitHub repository with a Dockerfile for SyncMarks:
FROM syncmarks/syncmarks:latest
ENV NODE_ENV=productionENV DATABASE_URL=${DATABASE_URL}ENV JWT_SECRET=${JWT_SECRET}
EXPOSE 3000
VOLUME ["/data"]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 |
|---|---|
NODE_ENV | production |
DATABASE_URL | sqlite:///data/syncmarks.db or PostgreSQL URL |
JWT_SECRET | Generate with openssl rand -hex 32 |
Attach Persistent Volumes
Add the following volumes:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/data | 1 GB | Database storage |
Deploy Your Application
Click Deploy to start the build process.
Access SyncMarks
Once deployment completes, access SyncMarks at your app URL.
Configuration
Creating an Account
After deployment:
- Navigate to your SyncMarks instance
- Register a new account
- Download the browser extension
Installing Browser Extensions
Install the SyncMarks extension:
- Go to your browser’s extension store
- Search for “SyncMarks” or install from the official site
- Configure the extension with your server URL
- Log in with your credentials
Syncing Bookmarks
Once configured:
- The extension will automatically sync your bookmarks
- Changes are synced in real-time
- Bookmarks appear on all connected browsers
Importing Existing Bookmarks
Import bookmarks from a file:
- Export bookmarks from your browser as HTML
- Navigate to Settings > Import
- Upload your bookmark file
Additional Resources
Conclusion
Deploying SyncMarks on Klutch.sh gives you a private bookmark synchronization service with automatic builds, persistent storage, and secure HTTPS access. Keep your bookmarks synced across all your browsers and devices.