A minimalistic self-hosted bookmark manager written in Go.
The app aims for simplicity. That is why it is not filled with features. Bookmarks are stored in SQLite database, so heavy database engines are not needed and makes database backups easy to do.
Bookmarks can be marked as private. Private bookmarks are visible only for authenticated users. Each bookmark can also have tags. RSS feed is available for recent bookmarks and for each tag. The app can also do scheduled bookmark checks.
Bookmark Manager aims to be as accessible as possible. It should have a pretty a quite good screen reader support, but if have an idea how to make it even better, feel free to file an issue!
- Copy the following example files:
- bookmarks.db.example ➔ bookmarks.db
- docker-compose.yml.example ➔ docker-compose.yml
- config.yml.example ➔ config.yml
- robots.txt.example ➔ robots.txt
- Configure settings in
config.yml
. Each setting is described in the config file. - Configure
robots.txt
if you want to limit how search engines and bots scrape your site
docker-compose up [-d]
By default, the forwarded port is 8000. You can change this in the docker-compose.yaml
.
If you know what you are doing, you can also run the application directly from the source code or build your own binaries.
go run .
Be default, the app is listening to port 8000. You can change this in the config.yml
.
The app can check for broken bookmarks, but this feature is disabled by default.
To enable the check, set the check_interval
setting in config.yml
to 1
or more.
If you want the check to run when the app starts, set the check_on_app_start
setting to true
.
Broken bookmarks are indicated by an exclamation point icon. You will also see a Broken Bookmarks link in the top navigation bar, which will take you to a view listing all broken bookmarks. These are only visible if you are logged in.
Bookmark Manager can send a notification when it detects broken bookmarks. Currently, only
Gotify notifications are supported. To enable notifications, set
the gotify_enabled
setting to true
and set gotify_url
and gotify_token
settings to match your
environment.
Sometimes the bookmark check fails because the server classifies the check as bot traffic and displays a CAPTCHA. It may also block the request completely, which is known to happen with certain Cloudflare configuration.
If some URLs work fine in a browser but fail the bookmark check, you can simply disable the check for the problematic URLs by checking the Ignore URL checking
checkbox in the bookmark edit view.
Bookmark Manager supports themes. If you want to create your own theme, read the separate Theme Documentation.
UI for guests
UI for authenticated users
Admin UI