Skip to content

BetterSync For Obsidian server, a high-performance note synchronization service based on Golang + Websocket, BetterSync For Obsidian 服务端,基于 Golang + Websocket 构建的高性能笔记实时同步服务

License

Notifications You must be signed in to change notification settings

haierkeys/fast-note-sync-service

Repository files navigation

中文文档 / English Document

Better Sync Service

version license

BetterSync For Obsidian server, a high-performance note real-time synchronization service built on Golang + Websocket.

Feature List

  • Real-time synchronization of notes across multiple devices
  • Note cloud storage synchronization
  • Web page management
  • Currently only supports Sqlite storage

Changelog

For a complete list of updates, please visit Changelog.

Pricing

This software is open-source and free. If you wish to express your gratitude or help support continued development, you can support me in the following ways:

BuyMeACoffee

Private Deployment

  • Directory Setup

    # Create the directories required for the project
    mkdir -p /data/better-sync
    cd /data/better-sync
    
    mkdir -p ./config && mkdir -p ./storage/logs && mkdir -p ./storage/uploads

    If the configuration file is not downloaded at the first startup, the program will automatically generate a default configuration to config/config.yaml.

    If you want to download a default configuration from the network, use the following command to download it.

    # Download the default configuration file from the open-source repository to the configuration directory
    wget -P ./config/ https://raw.githubusercontent.com/haierkeys/obsidian-better-sync-service/main/config/config.yaml
  • Binary Installation

    Download the latest version from Releases, extract it, and execute:

    ./better-sync-service run -c config/config.yaml
  • Containerized Installation (Docker method)

    Docker command:

    # Pull the latest container image
    docker pull haierkeys/obsidian-better-sync-service:latest
    
    # Create and start the container
    docker run -tid --name better-sync-service \
            -p 9000:9000 -p 9001:9001 \
            -v /data/better-sync/storage/:/better-sync/storage/ \
            -v /data/better-sync/config/:/better-sync/config/ \
            haierkeys/obsidian-better-sync-service:latest

    Docker Compose Use containrrr/watchtower to monitor the image for automatic project updates The docker-compose.yaml content is as follows

    # docker-compose.yaml
    services:
      better-sync:
        image: haierkeys/obsidian-better-sync-service:latest  # Your application image
        container_name: better-sync
        ports:
          - "9000:9000"  # Map port 9000
          - "9001:9001"  # Map port 9001
        volumes:
          - /data/better-sync/storage/:/better-sync/storage/  # Map storage directory
          - /data/better-sync/config/:/better-sync/config/    # Map configuration directory
    

    Execute docker compose

    Register the docker container as a service

    docker compose up -d

    Log out and destroy the docker container

    docker compose down

Usage

Access the WebGUI address http://{IP:PORT}

Click to copy API configuration to get the configuration information, then paste it into the BetterSync For Obsidian plugin.

The first visit requires user registration. To disable registration, please change user.register-is-enable to false.

Configuration Instructions

The default configuration file is named config.yaml, please place it in the root directory or config directory.

For more configuration details, please refer to:

Other Resources

About

BetterSync For Obsidian server, a high-performance note synchronization service based on Golang + Websocket, BetterSync For Obsidian 服务端,基于 Golang + Websocket 构建的高性能笔记实时同步服务

Resources

License

Stars

Watchers

Forks

Packages