{"id":15293456,"url":"https://github.com/rtuszik/starwarden","last_synced_at":"2025-04-06T18:14:03.789Z","repository":{"id":256776294,"uuid":"856055513","full_name":"rtuszik/starwarden","owner":"rtuszik","description":"Export GitHub Stars to LinkWarden","archived":false,"fork":false,"pushed_at":"2025-02-24T22:25:51.000Z","size":173,"stargazers_count":101,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T17:08:24.018Z","etag":null,"topics":["github","github-stars","linkwarden"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rtuszik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-11T23:03:01.000Z","updated_at":"2025-03-30T07:49:43.000Z","dependencies_parsed_at":"2025-02-28T05:11:29.613Z","dependency_job_id":"daede355-3b20-408d-a0aa-08278c6e3030","html_url":"https://github.com/rtuszik/starwarden","commit_stats":null,"previous_names":["rtuszik/starwarden"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtuszik%2Fstarwarden","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtuszik%2Fstarwarden/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtuszik%2Fstarwarden/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtuszik%2Fstarwarden/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rtuszik","download_url":"https://codeload.github.com/rtuszik/starwarden/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247526760,"owners_count":20953143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","github-stars","linkwarden"],"created_at":"2024-09-30T16:48:48.820Z","updated_at":"2025-04-06T18:14:03.756Z","avatar_url":"https://github.com/rtuszik.png","language":"Python","readme":"![Docker Pulls](https://img.shields.io/docker/pulls/rtuszik/starwarden) ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/rtuszik/starwarden/docker.yml) ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/rtuszik/starwarden/lint.yml)\n\n# StarWarden\n\nStarWarden allows you to export GitHub stars to Linkwarden.\n\n![screenshot](https://github.com/rtuszik/starwarden/blob/main/assets/screenshot.png?raw=true)\n\n## Features\n\n- Export GitHub stars to Linkwarden\n- Export to existing collection or create new colletion\n- Keep Linkwarden collection up-to-date with your GitHub stars using the docker image.\n\n## Setup\n\n1. Clone the repository\n2. Install requirements:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Create a `.env` file with:\n\n   ```bash\n   GITHUB_TOKEN=your_github_token\n   GITHUB_USERNAME=your_github_username\n   LINKWARDEN_URL=your_linkwarden_instance_url\n   LINKWARDEN_TOKEN=your_linkwarden_api_token\n   OPT_TAG=true\n   OPT_TAG_GITHUB=true\n   OPT_TAG_GITHUBSTARS=true\n   OPT_TAG_LANGUAGE=false\n   OPT_TAG_USERNAME=false\n   ```\n\n## Usage\n\nRun:\n\n```bash\npython starwarden.py\n```\n\nTo directly update an existing collection without an interactive menu, run:\n\n```bash\npython starwarden.py -id YOUR_COLLECTION_ID\n```\n## Environment Variables\n\n| Name           | Default        | Description \n| :---           |     :---:      |        :--- \n| GITHUB_TOKEN   || GitHub API token    \n| GITHUB_USERNAME|| GitHub username      \n| LINKWARDEN_URL || Linkwarden URL https://your-linkwarden-instance.com\n| LINKWARDEN_TOKEN| | Linkwarden API token\n| COLLECTION_ID  || Linkwarden Collection ID to update (Number) /collections/499\n| CRON_SCHEDULE | 0 6 * * * | Cron Schedule (default is daily at 6am) \n||(True/False)|\n| OPT_TAG | true| Enable/Disable all Tagging \n| OPT_TAG_GITHUB | true | Tag Link with \"GitHub\" \n| OPT_TAG_GITHUBSTARS | true| Tag Link with \"GitHub Stars\" \n| OPT_TAG_LANGUAGE | false| Tag Link with Language of repo (e.g. Python or JavaScript) \n| OPT_TAG_USERNAME | false| Tag GitHub username \n||-|\n| OPT_TAG_CUSTOM | | Add custom tags, separated by commas (e.g. tag1,tag2) \n\n\n## Unsupervised Updates\n\nFor automated, unsupervised updates, you can use Docker with the provided docker-compose.yml file.\n\n1. Make sure you have Docker and Docker Compose installed on your system.\n\n2. Create a `.env` file in the project root with the following variables:\n\n   ```bash\n   GITHUB_TOKEN=your_github_token\n   GITHUB_USERNAME=your_github_username\n   LINKWARDEN_URL=your_linkwarden_instance_url\n   LINKWARDEN_TOKEN=your_linkwarden_api_token\n   COLLECTION_ID=your_linkwarden_collection_id\n   CRON_SCHEDULE=0 0 * * *  # Run daily at midnight, adjust as needed\n   OPT_TAG=true\n   OPT_TAG_GITHUB=true\n   OPT_TAG_GITHUBSTARS=true\n   OPT_TAG_LANGUAGE=false\n   OPT_TAG_USERNAME=false\n   ```\n\n3. Use the following `docker-compose.yml` file:\n\n   ```yaml\n   version: \"3\"\n   services:\n   starwarden:\n     image: rtuszik/starwarden:latest\n     env_file: .env\n     volumes:\n       - ./starwarden.log:/app/starwarden.log\n   ```\n\n4. Run the following command to start the Docker container:\n\n   ```bash\n   docker compose up -d\n   ```\n\nThe container will now automatically run StarWarden on the specified schedule without any manual intervention.\n\nTo manually trigger an update, you can run:\n\n```bash\ndocker compose exec starwarden python /app/starwarden.py -id $COLLECTION_ID\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtuszik%2Fstarwarden","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frtuszik%2Fstarwarden","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtuszik%2Fstarwarden/lists"}