Sign inSign up

madh93/karakeepbot

By madh93

•Updated 12 months ago

Telegram Bot for saving bookmarks to Karakeep

Image
Integration & delivery
0

437

madh93/karakeepbot repository overview

⁠Karakeepbot

Latest release Go Version Go Reference License

Karakeepbot is a simple Telegram Bot⁠ written in Go⁠ that enables users to effortlessly save bookmarks to Karakeep⁠ (previously Hoarder), a self-hostable bookmark-everything app, directly through Telegram.

Karakeepbot Demo

Features⁠ • Requirements⁠ • Installation⁠ • Configuration⁠ • Contributing⁠ • License⁠

⁠Features

  • 📄 Add text and URL bookmarks into your Karakeep instance (tested on v0.20.0⁠).
  • 🤖 Obtain AI-generated tags in hashtag format for easy searching on Telegram.
  • 🔒 Support chat ID and thread ID allowlists.
  • 🐳 Production-ready Docker image for easy deployment.

⁠Requirements

⁠Installation

⁠Docker
⁠Using docker run

Use the docker run command to start Karakeepbot. Make sure to set the required environment variables:

docker run --name karakeepbot \
  -e KARAKEEPBOT_TELEGRAM_TOKEN=your-telegram-bot-token \
  -e KARAKEEPBOT_KARAKEEP_TOKEN=your-karakeep-api-key \
  -e KARAKEEPBOT_KARAKEEP_URL=https://your-karakeep-instance.tld \
  ghcr.io/madh93/karakeepbot:latest
⁠Using docker compose

Create a docker-compose.yml file with the following content:

services:
  karakeepbot:
    image: ghcr.io/madh93/karakeepbot:latest
    restart: unless-stopped
    # volumes:
    #   - ./custom.config.toml:/var/run/ko/config.default.toml # Optional: specify a custom configuration file instead of the default one
    environment:
      - KARAKEEPBOT_TELEGRAM_TOKEN=your-telegram-bot-token
      - KARAKEEPBOT_KARAKEEP_TOKEN=your-karakeep-api-key
      - KARAKEEPBOT_KARAKEEP_URL=https://your-karakeep-instance.tld

Use the docker compose up command to start Karakeepbot:

docker compose up
⁠From releases

Download the latest binary from the releases page⁠:

curl -L https://github.com/Madh93/karakeepbot/releases/latest/download/karakeepbot_$(uname -s)_$(uname -m).tar.gz | tar -xz -O karakeepbot > /usr/local/bin/karakeepbot
chmod +x /usr/local/bin/karakeepbot
⁠From source

If you have Go installed:

go install github.com/Madh93/karakeepbot@latest

⁠Configuration

Karakeepbot comes with a default configuration file⁠ that you can modify to suit your needs.

⁠Loading a custom configuration file

You can load a different configuration file by using the -config path/to/config/file flag when starting the application:

karakeepbot -config custom.config.tml
⁠Overriding with environment variables

Additionally, you can override the configuration values using environment variables that begin with the prefix KARAKEEPBOT_. This allows you to customize your setup without needing to modify any configuration file:

KARAKEEPBOT_LOGGING_LEVEL=debug KARAKEEPBOT_TELEGRAM_ALLOWLIST=chat_id_1,chat_id_2 karakeepbot

⁠Contributing

Contributions are welcome! Please open an issue or submit a pull request for any bug fixes or enhancements.

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add new feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a Pull Request.

⁠License

This project is licensed under the MIT license⁠.

Tag summary

Content type

Image

Digest

sha256:56c330520…

Size

3.8 MB

Last updated

12 months ago

docker pull madh93/karakeepbot