Skip to content

Repository files navigation

github2karakeep

Export starred repositories from GitHub to a KaraKeep list.

Running

docker

docker run --rm \
-e TIMEOUT=10s \
-e GH_USERNAME={username} \
-e GH_TOKEN={token} \
-e GH_PER_PAGE=100 \
-e GH_EXTRACT_TOPICS=true \
-e KK_HOST={host} \
-e KK_TOKEN={token} \
-e KK_LIST=github2karakeep \
-e UPDATE_INTERVAL=24h \
-e EXPORT_LIMIT=10 \
-e DEFAULT_TAG=github2karakeep \
ghcr.io/hasansino/github2karakeep:latest

docker-compose

services:
github2karakeep:
image: ghcr.io/hasansino/github2karakeep:latestenvironment:
- TIMEOUT=10s
- GH_USERNAME={username}
- GH_TOKEN={token}
- GH_PER_PAGE=100
- GH_EXTRACT_TOPICS=true
- KK_HOST={host}
- KK_TOKEN={token}
- KK_LIST=github2karakeep
- UPDATE_INTERVAL=24h
- EXPORT_LIMIT=10
- DEFAULT_TAG=github2karakeep

Configuration

CLI ArgumentEnvironment VariableDescriptionDefault Value
--timeoutTIMEOUTTimeout for HTTP requests. Duration format: 2h45m30s.10s
--gh-userGH_USERNAMEGitHub username. Required.
--gh-tokenGH_TOKENGitHub token with starring/read-only permission. Required.
--gh-per-pageGH_PER_PAGENumber of repositories to fetch per page.100
--gh-extract-topicsGH_EXTRACT_TOPICSExtract topics from repository description as tags.false
--kk-hostKK_HOSTKaraKeep host, including schema. Required.
--kk-tokenKK_TOKENKaraKeep API token. Required.
--kk-listKK_LISTKaraKeep list name.github2karakeep
--update-intervalUPDATE_INTERVALUpdate interval. Duration format: 2h45m30s.24h
--export-limitEXPORT_LIMITLimit the number of repositories to export per run.10
--default-tagDEFAULT_TAGDefault tag to add to every bookmark. Leave empty to omit.github2karakeep

Notes

  • Ensure your GitHub token has the necessary permissions (starring/read-only).
  • KaraKeep host should include the schema (e.g., https://example.com).
  • Use the UPDATE_INTERVAL to control how often the export process runs.
  • GitHub API rate limits may apply.
  • Increase GH_PER_PAGE to lower number of requests if you have a large number of starred repositories.
  • GitHub API allows up to 100 repositories per page.
  • EXPORT_LIMIT meant to be used for tests (exporting a small number of repositories).
  • EXPORT_LIMIT does not persist state between runs.
  • Set EXPORT_LIMIT to 0 to disable limit.

About

GitHub to Karakeep exporter.

Topics

Resources

Stars

40 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages