/bearmark

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.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

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

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`