Skip to content

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:

Deploying SyncMarks on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile for SyncMarks:

    FROM syncmarks/syncmarks:latest
    ENV NODE_ENV=production
    ENV 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:

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

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    NODE_ENVproduction
    DATABASE_URLsqlite:///data/syncmarks.db or PostgreSQL URL
    JWT_SECRETGenerate with openssl rand -hex 32

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /data1 GBDatabase 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:

  1. Navigate to your SyncMarks instance
  2. Register a new account
  3. Download the browser extension

Installing Browser Extensions

Install the SyncMarks extension:

  1. Go to your browser’s extension store
  2. Search for “SyncMarks” or install from the official site
  3. Configure the extension with your server URL
  4. Log in with your credentials

Syncing Bookmarks

Once configured:

  1. The extension will automatically sync your bookmarks
  2. Changes are synced in real-time
  3. Bookmarks appear on all connected browsers

Importing Existing Bookmarks

Import bookmarks from a file:

  1. Export bookmarks from your browser as HTML
  2. Navigate to Settings > Import
  3. 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.