Skip to content

a lightweight browser bookmark management, designed for developers who need a personalized solution for managing bookmarks through API integration. It allows users to deploy and use it on their servers, ensuring the security and privacy of data.

License

Notifications You must be signed in to change notification settings

linw1995/bearmark

Repository files navigation

Bearmark

codecov

Bearmark is a lightweight browser bookmark management system, designed for developers who need a personalized solution for managing bookmarks through API integration.

It allows users to deploy and use it on their servers, ensuring the security and privacy of data.

Deployments

Securities

Supports simple API key authentication. You can use below command to generate a random API key.

openssl rand -base64 32

Caution

If you use bearmark in the public network, please use HTTPS.

Use docker-compose for deployment

cd ./deployments/docker-compose/
cp .env.example .env # and modify the .env file

docker compose up -d

open http://localhost:2284

Integrations

  • Web viewer: bearmark-web

    Already integrated with Bearmark server. Open the link http://localhost:2284/ in your browser, and input your API key.

  • Raycast Extension: bearmark-raycast

    Enable searching and opening bookmarks in Raycast. Save the currently viewed Safari webpage to Bearmark. Configure your Bearmark server API endpoint http://localhost:2284/api and API key in the Raycast extension.

Developments

Use nix to setup development environment, or use direnv to load nix environment automatically.

# setup database by docker compose
# and generate .envrc file
./scripts/cli.sh setup

# activate manually
nix develop
source .envrc

Helpful Scripts

Also, you can use ./scripts/cli.sh to invoke startups and testings.

./scripts/cli.sh install-deps

./scripts/cli.sh setup # setup database by docker compose
./scripts/cli.sh teardown # cleanup

./scripts/cli.sh lint
./scripts/cli.sh test
./scripts/cli.sh coverage

Cross Compiling

You can use the following command to cross compile the binary.

Or use pre-built docker image ghcr.io/linw1995/bearmark

nix develop .#x86_64-unknown-linux-musl

cargo build --target x86_64-unknown-linux-musl --release \
  --package bearmark-api --bin serve
echo `find target -name serve -type f`

About

a lightweight browser bookmark management, designed for developers who need a personalized solution for managing bookmarks through API integration. It allows users to deploy and use it on their servers, ensuring the security and privacy of data.

Resources

License

Stars

Watchers

Forks

Packages